Reklama

Blogi, które czytam

Kategorie

Archiwum

2008

2007

2006

2005

2004

Stat4u

Stat4u

Blog

OpenVPN - prosta i szybka konfiguracja

09.02.2008 - Sobota - 21:57

Chciałbym napisać w jaki sposób połączyć siecią wirtualną dwa komputery działające pod kontrolą systemu GNU/Linux i wykorzystujące oprogramowanie OpenVPN.

Podstawową sprawą jest posiadanie OpenVPN. Ten program nie ma wydzielonej części serwerowej i klienckiej. W zależności od zawartości pliku konfiguracyjnego może działać jako klient lub serwer (a nawet jako jedno i drugie). Ja, Ubunciarz z wyboru, nie parałem się kompilacją programu ze źródeł. Po co? ;-) Wklepałem po prostu apt-get install openvpn i po chwili miałem już zainstalowane oprogramowanie.

Całość konfiguracji sprowadza się do kilku prostych czynności. Pierwszą jest wygenerowanie klucza, który będzie używany do szyfrowania danych przesyłanych przez VPN. Jak? Banalnie...

root@eu07:~# openvpn --genkey --secret plik.key

Plik z kluczem przekopiowałem do katalogu /etc/openvpn zarówno w jednym jak i drugim komputerze. Wiem, że ten plik powinien być "secret", ale kto mi go przeczyta? Ja sam? ;-)

Następnie należy stworzyć pliki konfiguracyjne serwera i klienta. OpenVPN w trakcie startu przeszukuje /etc/openvpn w poszukiwaniu plików *.conf, a następnie je analizuje i uruchamia się wedle ich zaleceń. Jeden plik - jedna instancja OpenVPN, klienta lub serwera.

Zatem vi /etc/openvpn/server1.conf

dev tun
secret /etc/openvpn/plik.key
proto tcp-server 
ifconfig 192.168.11.1 192.168.11.2
daemon
verb 4
log-append /var/log/openvpn.log
keepalive 10 900
inactive 360000
comp-lzo

W pierwszej linijce pliku konfiguracyjnego wskazujemy OpenVPN, żeby korzystał z mechanizmu TUN, czyli enkapsulacji pakietów w warstwie trzeciej (sieci). Istnieje możliwość pracy w warstwie drugiej (łącza danych) przy pomocy mechanizmu TAP. Oczywiście TAP/TUN musi być obsługiwane przez jądro. Kolejna linia to wskazanie pliku zawierającego klucz. Linijka proto to wybór protokołu. Próbowałem opcji UDP, ale z nieustalonych jeszcze przeze mnie przyczyn nie nawiązałem transmisji pomiędzy komputerami wpiętymi w sieć VPN. Linijka ifconfig to linia wskazująca adresy IP węzłów sieci. Pierwszy adres to adres komputera, na którym jest ta instancja uruchamiana, drugi to adres komputera odległego. Interfejsy są konfigurowane w trybie point to point, a więc nie można podłączyć kilku komputerów do jednego serwera. Według dokumentacji jest to możliwe, ale mi nie wyszło. Linia daemon może pozostać bez wyjaśnienia ;-) Następnie poziom gadatliwości w logach - maksymalnie gadatliwy to dziewiątka; ścieżka do pliku logów i czasy utrzymywania serwera i interfejsów bez transmisji. Wartość inactive polecam ustawić dość dużą, jeśli serwer VPN nie będzie miał cały czas podłączonego klienta wymieniającego dane. No i na końcu wkazujemy, że chcemy wykorzystać kompresję danych.

Teraz należy zadbać o odblokowanie portu 1194 (domyślnego portu OpenVPN) dla transmisji TCP na maszynie, która będzie służyć za serwer.

root@eu07:~# iptables -A INPUT -p tcp --dport 1194 -s 0/0 -j ACCEPT

Cóż pozostaje zrobić teraz? Skonfigurować klienta: vi /etc/openvpn/client1.conf

dev tun
proto tcp-client
remote adres.serwera.net 1194
secret /etc/openvpn/plik.key
ifconfig 192.168.11.2 192.168.11.1
keepalive 10 60
route 192.168.0.0 255.255.255.0
route 192.168.1.0 255.255.255.0
comp-lzo

Wyjaśnić należy linijkę remote, w której zapisany jest adres serwera (ten zewnętrzny, w sieci Internet) oraz port na, którym działa serwer. Różnica jest w linijce ifconfig - adresy zapisane są w odwrotnej kolejności, ale nadal pierwszy to adres końca lokalnego, a drugi końca odległego. Linijki route to informacje, że ruch do podsieci tam wymienionych ma być realizowany z wykorzystaniem VPN. W tym przypadku to adresy sieci rzeczywistych, które są osiągalne z serwera (który pełni dla nich funkcję routera z NAT).

Teraz tylko trzeba wszystko wystartować:

root@eu07:~# /etc/init.d/openvpn start
krzysztof@ed74:~$ sudo /etc/init.d/openvpn start

Teraz można sprawdzić czy VPN działa:

krzysztof@ed74:~$ ping 192.168.11.1
PING 192.168.11.1 (192.168.11.1) 56(84) bytes of data.
64 bytes from 192.168.11.1: icmp_seq=1 ttl=64 time=6.42 ms
64 bytes from 192.168.11.1: icmp_seq=2 ttl=64 time=5.61 ms
64 bytes from 192.168.11.1: icmp_seq=3 ttl=64 time=5.26 ms

--- 192.168.11.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 1999ms
rtt min/avg/max/mdev = 5.262/5.765/6.420/0.484 ms

Widzą się, ale...

krzysztof@ed74:~$ ping 192.168.0.1
PING 192.168.0.1 (192.168.0.1) 56(84) bytes of data.

--- 192.168.0.1 ping statistics ---
10 packets transmitted, 0 received, 100% packet loss, time 9008ms

Mimo, że wskazaliśmy komputerowi, że do tej sieci ma pakiety puszczać przez VPN transmisji nie ma. Istotnie wszystkie pakiety, które wysyłamy do 192.168.0.1 są puszczane przez VPN, ale na serwerze nie ma regułek przekazywania pakietów pomiędzy sieciami.

root@eu07:~# iptables -A FORWARD -s 0/0 -d 192.168.11.0/24 -j ACCEPT
root@eu07:~# iptables -A FORWARD -s 192.168.11.0/24 -d 0/0 -j ACCEPT

Dopiero po takim posunięciu komputer-serwer potraktuje VPN jak każdą inną sieć podpietą do niego i będzie przekazywał pakiety do innych sieci. Nie ma sensu włączać maskarady (NAT) dla tej podsieci, bo wciąż poruszamy się w zakresie adresów z puli prywatnej, które w sieci wewnętrznej będą śmigały aż miło.

Słowa kluczowe: vpn openvpn linux komputer

Komentarze (0)

VPN

03.02.2008 - Niedziela - 22:07

Jako, że każdy mężczyzna powinien w życiu, poza drzewem itp., nauczyć się Vima oraz postawić VPN, postanowiłem wreszcie, że postawię VPN ;-)

Głównym założeniem tej sieci wirtualnej jest udostępnienie mi zasobów mojej domowej sieci lokalnej niezależnie od miejsca, w którym przebywam i niezależnie od łącza, którym dysponuję. A oprócz tego zawsze można znajomych dołączyć, szczególnie tych bez adresu publicznego ;-)

Pierwsze kroki postawiłem z OpenVPN. Działa bardzo fajnie, ale ma jedną wadę - połączenia są typu punkt-punkt. Próby skonfigurowania jednej podsieci wirtualnej dla wielu klientów niestety nie powiodły się, mimo poświęcenia wielu godzin. Próbowałem też z OpenSWAN, czyli IPsec, ale też się nie udało.

Pozostałem zatem przy OpenVPN i podsiecią dla każdego klienta (czyli dodatkowym serwerem i interfejsem sieciowym w systemie). Widoczność między podsieciami zapewniam przez regułki iptables. I nadal działa wyśmienicie ;-)

Może kiedyś napiszę jak skonfigurować takiego VPN-a ;-)

Słowa kluczowe: komputer linux

Komentarze (1)

Tania antena paraboliczna na 2,4 GHz

06.01.2008 - Niedziela - 15:05

Trafiłem dzisiaj na bardzo prosty i niesamowicie tani projekt anteny parabolicznej zrealizowanej na bazie standardowo dołączanej do większości urządzeń 802.11 b/g anteny patykowej, niesymetrycznej 2dBi. Antenę, a właściwie reflektor do niej wykonuje się z papieru, folii aluminiowej i kleju biurowego ;-)

Projekt anteny dostępny jest pod adresem: http://www.freeantennas.com/projects/template2/index.html. Według tego co widzimy na wykresach można stwierdzić, że tak skonstruowana antena ma zysk około 11 dBi. I moje zupełnie nieprofesjonalne pomiary nawet to potwierdzają. Test przeprowadziłem przy wykorzystaniu laptopa z anteną (prawdopodobnie) kolinearną oddalonego około metra (tak, wiem, wiem, strefa bliska) od access pointa wyposażonego w badaną antenę. Laptop ustawiony do AP minimum swojej charakterystyki. Moc nadawania AP to 4 dBm (minimalna moc nadawania dostępna na karcie). Na antenie niewyposażonej w reflektor laptop odbierał moc -58 dBm. Po zamontowaniu reflektora i ustawieniu go "tyłem" do laptopa moc odbierana to -64 dBm. Skierowanie ogniska reflektora na komputer powoduje wzrost odbieranej mocy do -46 dBm czyli o 12 dB więcej w stosunku do anteny dookólnej.

Oczywiście nie posiadam w domu komory bezodbiciowej i wszystko co stoi na biurku oraz ściany, sufit i podłoga zwiększały błędy pomiary, ale różnice są na tyle duże, że trzeba stwierdzić, że jednak coś w tym jest ;-)

Wykonanie anteny zajęło mi około dwudziestu minut, z czego najwięcej pochłonęło formowanie reflektora przez wciskanie zakładek w nacięcia ;-) Wizualnie wygląda okropnie. Elektromagnetycznie kompensuje swoją brzydotę ;-)

Antena paraboliczna 11 dBi ;-)

Słowa kluczowe: antena wifi komputer

Komentarze (2)

Nowe łącze, nowe problemy

28.10.2007 - Niedziela - 12:04

I mam nowe łącze. O ile przestawienie anteny nie było skomplikowane, o tyle problem był z utworzeniem linka PPPoE po interfejsie wlan0. Ale udało się. Nie chcę mówić jak wiele problemów to sprawiło, ale jest.

Megabit jest. Pod warunkiem, że akurat mam w miarę silny sygnał. Bo jeśli nie, to mam ogromne pingi (rekord to trzy sekundy!) i makabryczne straty w pakietach wysyłanych (bez możliwości zmiany MTU dla interfejsu fizycznego wlan0, a nie ppp0). Ale problem powoduje tutaj niezgodność polaryzacji anten. A to oznacza konieczność wymiany anteny... Na razie się trochę pomęczę, a potem zdecyduję, czy jest sens wymiany anteny.

Za to teraz mam wreszcie możliwość pooglądania kolejowych filmików na YouTube ;-) Obejrzenie wszystkich zajmie mi co najmniej kilka dni ;-)

No i mam wreszcie zewnętrzne IP i już prawie zarejestrowaną domenę podpiętą pod ten IP ;-) Trochę się musiałem namęczyć z regułkami iptables, żeby udostępnić tylko to co chcę na zewnątrz, ale wygląda na to, że wszystko jest ok. Nmap (z nmap-online.com) właśnie kończy skanowanie portów. Najbardziej zastanowił mnie noffle, który nasłuchiwał na wszystkich interfejsach sieciowych i bez żadnej autoryzacji przyjmował każde połączenie. Teraz słucha tylko w sieci wewnętrznej po kablu. Mysql też był otwarty z sieci. Co prawda użytkownicy mieli prawo łączyć się tylko po interfejsie zwrotnym i sieci wewnętrznej, ale nie zaszkodzi uciąć możliwości łączenia się z zewnątrz. Miałem też kilka portów, których przeznaczenia nie znałem. Też uciąłem ;-) Przed chwilą zauważyłem, że wyciąłem trochę za dużo i router nie może się z niczym połączyć. Ale już poprawiłem ;-) Chociaż pewnie za jakiś czas okaże się, że o czymś znowu zapomniałem ;-)

Moja domowa sieć jest ostatnio bardzo obciążona. Właśnie do switcha jest podłączonych pięć komputerów. Ja nie wiem po co mi tyle ;-)

A poza tym jakoś to leci ;-)

Słowa kluczowe: internet komputer linux

Komentarze (2)

I doczekałem się ;-)

22.10.2007 - Poniedziałek - 22:30

Po pięciu tygodniach czekania, wreszcie doczekałem się mojego laptopa. Ale za to, jakby w ramach rekompensaty, zapłaciłem za niego nieco mniej ;-)

Siedzę sobie teraz na łóżku, z laptopem na kolanach i ogarnia mnie przerażenie, kiedy sobie zaczynam zdawać sprawę ile mam jeszcze rzeczy do zainstalowania i skonfigurowania. Nie wszystko mogę tak bezpośrednio przekopiować ze swojego desktopowego /home/krzysztof. Coś trzeba sobie zostawić do skonfigurowania ;-)

Ubuntu (już 7.10) zainstalowało się ładnie i bezproblemowo. Komputer w trakcie instalacji otrzymał nazwę ed74, jako że zdarzyło mi się dzisiaj nim jechać, a nazywać go en57 nie miałem sumienia ;-) Jest kilka rzeczy, które nie działają jak należy. Nie mogę wyłączyć karty Wi-Fi, nie działa rozjaśnianie wyświetlacza za pomocą przycisku Fn i... I to właściwie wszystko. Nie miałem okazji jeszcze wszystkiego przetestować, ale z pewnością wreszcie będę miał taką możliwość i porozwiązuję sobie napotkane problemy. Bo cóż innego, jak nie własnoręcznie skonfigurowany system sprawia największą przyjemność? ;-)

Ok, wracam do instalacji pakietów ;-)

Słowa kluczowe: krzysiek komputer ubuntu

Komentarze (1)

A jednak Asus

18.09.2007 - Wtorek - 21:06

Pisałem o tym, że noszę się z zamiarem kupna laptopa. Myślałem o Fujitsu-Siemensie, ale ostatecznie zdecydowałem się na Asusa. Konkretnie F5M-AP033B. Cóż on tam ma? Pracuje na Turionie 64 2,2 GHz (jednordzeniowym), ma 1GB pamięci operacyjnej, 120 GB dysku twardego, panoramiczną matrycę 15,4", grafikę NVidia Geforce Go 6100 itd. Czyli ma wszystko czego potrzebuję ;-)

Komputer został już zamówiony i czekam aż dotrze do hurtowni, a potem do sklepu, w którym kupuję (łatwo się domyślić, który to sklep). No i niestety muszę się wykazać odrobiną cierpliwości. Ale mam nadzieję, że będzie warto. Tym bardziej, że wersja bez systemu operacyjnego (a o takiej właśnie myślę) jest naprawdę cenowo warta polecenia. Podobno Ubuntu instaluje się na nim bez kłopotów, a ja wydziwiać też raczej nie będę ;-) Jeśli będę potrzebował Windowsa to zainstaluję na jakimś wirtualnym pececie, wersję darmową - w ramach MSDNAA i nie bedę dysku śmiecił jakimiś partycjami FAT czy NTFS. Tylko Ext3/Reiser/XFS ;-) No, może przetestuję też OpenSolarisa, którego jakiś czas temu dostałem, ale nie miałem możliwości uruchomić na swoim komputerze.

Szkoda tylko, że ten model nie ma ani podczerwieni, ani Bluetootha ani nawet portu RS232. Trochę to utrudni mi podpięcie pod niego komórki, ale może jakimś przewodem USB się uda to zrobić.

Na razie jestem bardzo optymistycznie do niego nastawiony. Trudno, żebym nie był ;-)

Słowa kluczowe: komputer

Komentarze (0)

Thinclient

08.07.2007 - Niedziela - 18:04

Na początku tygodnia Krzysiek dostał z pracy (nie, nie z call center ;-)) dziwną rzecz do rozpracowania. Mianowicie był to terminal HP Compaq Thinclient T5720, czyli bardzo mały komputer (nieco ponad kilogram wagi, porównywalny z kartką A4 i całkowicie bezgłośny) z Windowsem XP Embedded na pokładzie. Problem polegał na tym, że zainstalowana zapora sieciowa nie pozwalała żadnemu programowi, który nie był standardowo zainstalowany na podłączenie do sieci. Poza tym komputer w ogóle nie zapamiętywał ustawień i po każdym restarcie startował z domyślnymi ustawieniami.

Free Image Hosting at www.ImageShack.us Free Image Hosting at www.ImageShack.us

I Krzysztof zabrał się za rozpracowywanie tego cuda dopiero dzisiaj, bo dotychczas nie miał czasu. Spędził trzy godziny, ale zrobił...

Na początek musiałem skonfigurować sieć w tym cudzie, tak żebym mógł tym preinstalowanym IE jakoś sobie pomóc. I skonfigurowałem. I nawet czasami udawało się połączyć z jakąś stroną... Nie wiem czemu, być może ja mam po prostu jakieś złe podejście, ale pod tym Windowsem strony ładowały się jak mucha w smole. Pod moim Linuksem chodziły bezproblemowo ;-) Oczywiście po restarcie wszystko trzeba było od nowa konfigurować, bo ja DHCP u siebie nie posiadam ;-)

Musiałem więc ściągnąć jakiś program, który będzie potrzebował dostępu do sieci. Dzika myśl powiedziała mi, że może Gadu-gadu. Więc ściągnąłem. Okazało się, że 16MB ramdysku to dla niego za mało, więc zainstalowałem na zmapowanym sieciowym dysku z katalogu udostępnionego przez Sambę. Uruchamiam... I Sygate (firewall) od razu go zablokował. Niestety żadnych możliwości dodania go do listy programów dozwolonych nie ma. Nawiasem mówiąc prawy przycisk prawie w ogóle do niczego nie jest wykorzystywany. Googluję więc...

Trafiam gdzieś na opis logowania się jako administrator. O! Trzeba się wylogować, ale żeby nie zostać ponownie zalogowanym należy trzymać Shift. Zalogowałem się. Więcej opcji. Nawet mam dostęp do dysku C:, a nie tylko ramdysku Z:. Ściągnąłem PuTTY, bo mniejszy i bardziej przydatny. Oczywiście również jest blokowany. Ale teraz już mam możliwość dodania go do aplikacji dozwolonych. Działa!

Restart... Po restarcie okazało się, że PuTTY zniknął, a z nim wszystkie ustawienia. Również pozwolenie na łączenie się z siecią... No jak nic nie zapisał na tej 512MB karcie pamięci zmian. Widzę opcję Synchronize w eksploratorze. Pewnie odpowiednik sync z Linuksa. Klikam. Restart. Wciąż to samo... Wkurzyłem się, ale i zawziąłem. Albo ona mnie albo ja ją!

Googluję dalej. Na stronie HP znajduję coś o EWF, czyli Enhanced Write Filter. To jest ustrojstwo programowe, które nie dopuszcza na zapis w pamięci stałej i wciąż operuje na ulotnej kopii danych. Przydałoby się wyłączyć. Robię restart. Oczywiście po każdym restarcie muszę wszystko ustawiać od nowa, ale już się przyzwyczaiłem ;-) Faktycznie! Pojawiła się czerwona otwarta kłódka. Filtr jest wyłączony. Zapisuję znowu PuTTY na dysku C:. Restartuję. Jest! Konfiguracja też się zapisała! Dodaję PuTTY do dozwolonych programów, dorzucam jego skrót dla użytkownika i ponownie zakładam blokadę. Po restarcie wszystko śmiga aż miło. Czyli po sprawie ;-)

A teraz kilka moich bardzo subiektywnych słów na temat tego sprzętu. Na pierwszy rzut oka fajny. Ale na drugi już nie. Najbardziej denerwuje powolność działania. Niby jest tam Ahtlon 1GHz i 512 MB DDR, ale mój komputer z takim samym procesorem i mniejszą i wolniejszą pamięcią działa o wiele szybciej. Po drugie ten Windows. Strasznie ograniczony. Nawet Painta nie ma i dlatego nie mogłem zrobić żadnego zrzutu ekranu ;-) I jedyne do czego się ten komputer nadaje to do kawiarenki internetowej. Wystarczy podłączyć klawiaturę, mysz i monitor ustawić sieć i działa. Fakt, że na IE, ale żaden wirus wiele nie narobi szkód, bo będzie infekował ramdysk, no chyba, że obejdzie jakoś filtr zapisu. Na stronie HP ten komputer kosztuje bagatela 2600 złotych. Ja osobiście nie dałbym za niego więcej niż 250, może 300 złotych. Nie warto. Nawet jeśli będzie miał tylko jedno, niezbyt skomplikowane zadanie. Wolę normalny, nawet szumiąco-buczący komputer. Ciekaw jestem tylko wersji z Linuksem, bo takie też są dostępne.

Słowa kluczowe: komputer hp thinclient

Komentarze (1)

Nieco spóźniony wpis z projektem

17.12.2006 - Niedziela - 14:52

Jakiś czas temu miałem termin oddania projektu układu opisanego w VHDL-u. Ponieważ do dyspozycji miałem tylko CPLD Xilinx XC95108, który bardzo pojemnym układem nie jest, program nie mógł być zbyt skomplikowany. Napisałem więc symulator taśmociągu z dwiema programowalnymi bramkami.

Większość opisu napisałem u siebie w domu, skompilowałem i przetestowałem oglądając przebiegi czasowe. Ale już na miejscu, w pracowni, okazało się, że trochę "przedobrzyłem". Nie wziąłem pod uwagę faktu, że układ nie poradzi sobie z tak skomplikowanym programem... Musiałem się wziąć za "odchudzanie"... W moich pierwotnych założeniach układ był zupełnie niezależny od zegara znajdującego się na płytce. Odpowiednie działania miały się wykonywać w momencie pojawienia się narastających zboczy sygnałów symulujących i programujących (to jest wciśnięć przypisku symulującego paczkę i przycisków programowania bramek). Niestety, w XC95108 można wykorzystać tylko trzy sygnały, które będą sprawdzane pod kątem wystąpienia zbocza (takie sprawdzanie jest możliwe tylko w przerzutniku synchronicznym na jego wejściu zegarowym). Ja potrzebowałem niestety co najmniej czterech takich sygnałów. Musiałem więc sobie darować tę możliwość i wykorzystać uzależnienie od zegara wewnętrznego, co jest nieco gorszym rozwiązaniem. Kolejnym problemem była ilość porównać dokonywanych w układzie. Komparatory wielobitowe szybko i skutecznie zżerają zasoby układu, przez co momentalnie straciłem możliwość "wgrania" opisu do tego układu. Musiałem podjąć kolejne kroki optymalizacyjne: łączenie czterobitowych wektorów w ośmiobitowe (dzięki temu nieco lepiej mogłem rozdysponować zasoby w poszczególnych makrokomórkach), minimalizacja ilości zmiennych wewnętrznych (zwalniałem przerzutniki), usunięcie sygnałów typu buffer (kolejne wolne przerzutniki) itd. Po odchudzeniu układ dawał się zaprogramować, ale stracił kilka fajnych bajerów, które miałem ochotę do niego wrzucić. Ważne, że wyrobiłem się w czasie (jako jeden z nielicznych) i nie muszę teraz stosować dalszego odchudzania ;-)

Oczywiście zamieszczam pełny kod opisu układu. Oczywiście w VHDL ;-)

library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;

entity sterownik is
port(
        WE, R, P0, P1, AKC: in std_logic;
        CLK: in std_logic;
        LED1, LED2: out std_logic_vector(7 downto 0));
end sterownik;

architecture urzadzenie of sterownik is

        function hex2led (hex: std_logic_vector(3 downto 0)) return std_logic_vector is
                variable s: std_logic_vector(7 downto 1);
                begin
                case hex is
                        when "0000" => s:= "1000000";
                        when "0001" => s:= "1111100";
                        when "0010" => s:= "0001001";
                        when "0011" => s:= "0011000";
                        when "0100" => s:= "0110100";
                        when "0101" => s:= "0010010";
                        when "0110" => s:= "0000010";
                        when "0111" => s:= "1111000";
                        when "1000" => s:= "0000000";
                        when "1001" => s:= "0010000";
                        when "1010" => s:= "0100000";
                        when "1011" => s:= "0000110";
                        when "1100" => s:= "1000011";
                        when "1101" => s:= "0001100";
                        when "1110" => s:= "0000011";
                        when "1111" => s:= "0100011";
                        when others => s:= "1010101";
                end case;
                return s;
        end hex2led;

        begin
        process(CLK, WE, AKC, P0, P1, R)
        variable B: std_logic_vector(7 downto 0) := "00000000";
        variable BS: std_logic_vector(7 downto 0);
        variable start: std_logic := '0';
        begin
                if R = '1' then
                        B := "00000000";
                        BS := "00000000";
                        LED1(0) <= '1';
                        LED2(0) <= '1';
                        start := '0';
                elsif CLK'event and CLK = '1' then
                        if P0 = '1' then BS(7 downto 4) := BS(7 downto 4) + 1;
                        elsif P1 = '1' then BS(3 downto 0) := BS(3 downto 0) + 1;
                        elsif AKC = '1' then start := '1';
                        elsif WE = '1' then
                                if B(7 downto 4) < BS(7 downto 4) then
                                        B(7 downto 4) := B(7 downto 4)+1;
                                        if B(7 downto 4) = BS(7 downto 4) then
                                                LED1(0) <= '0';
                                        end if;
                                elsif B(3 downto 0) < BS(3 downto 0) then
                                        B(3 downto 0) := B(3 downto 0)+1;
                                        if B(3 downto 0) = BS(3 downto 0) then
                                                LED2(0) <= '0';
                                        end if;
                                elsif B = BS then
                                        B := "00010000";
                                        LED1(0) <= '1';
                                        LED2(0) <= '1';
                                end if;
                        end if;
                end if;
                if start = '1' then
                        LED1(7 downto 1) <= hex2led(B(7 downto 4));
                        LED2(7 downto 1) <= hex2led(B(3 downto 0));
                else
                        LED1(7 downto 1) <= hex2led(BS(7 downto 4));
                        LED2(7 downto 1) <= hex2led(BS(3 downto 0));
                end if;
        end process;
end urzadzenie;

Testbencha zamieścić? ;-)

Słowa kluczowe: vhdl programowanie komputer linux

Komentarze (3)

Zmiana ISP

05.12.2006 - Wtorek - 17:03

Dostałem wczoraj list. Ogólnopolska sieć telewizji kablowej Vectra informuje mnie, że przejęła żyrardowską sieć TVM-u, czyli przejęła też mnie jako klienta...

Będzie zmiana umowy. Kto chce może zostać na starych warunkach, ale nie ma to sensu. Nowe warunki nie będą bardzo rewelacyjne, ale zawsze nieco lepsze. A konkretnie, moje aktualne łącze to 140 kbps/140 kbps (symetryczne) i płacę za nie 84 złote miesięcznie (tak, cena to największa wada tego łącza), po zmianie warunków będę miał 256 kbps/128 kbps za 69 złotych. Będę miał obniżony upload, ale dwa razy większy download i zaoszczędzę piętnaście złotych. Nie jest tak źle.

W cenniku jednak zauważyłem, że usługa bezprzewodowego dostępu do Internetu kosztuje dodatkowe 10 złotych. Ja mam łącze radiowe, więc się nieco zdenerwowałem, ale na szczęście okazało się, że chodzi tu o jakiś konkretny rodzaj modemu kablowego, do którego można prócz skrętki podłączyć się radiem i którego ja nie będę oczywiście wykorzystywał, więc nie będę musiał płacić tych dziesięciu złotych ;-)

Ale za to zastanawiam się nad stałym, zewnętrznym adresem IP, który też kosztuje dziesięć złotych miesięcznie. Nie będę u siebie w domu stawiał publicznego serwera, ale będę mógł kontrolować swój komputer z zewnątrz przy pomocy normalnego SSH, a nie zmyślnego systemu komunikacji komórka<->serwer<->komputer ;-) I chyba odżałuję te dziesięć złotych miesięcznie.

Słowa kluczowe: komputer internet

Komentarze (4)

Czemu X zamiast jedynki?

25.11.2006 - Sobota - 18:27

Spodobał mi się VHDL, więc postanowiłem nieco głębiej w niego "wejść", no ale do tego potrzebne mi jest oprogramowanie. Oczywiście, mogę sobie kupić płytkę testową z układem programowalnym, ale wydatek rzędu 150 dolarów mnie przeraża. Muszę korzystać z symulatorów. A pod Linuksem wcale nie jest tak różowo. Co prawda Altera i Xilinx (dwaj czołowi producenci układów programowalnych) udostępniają swoje oprogramowanie w wersji dla Linuksa, ale... ISE Webpack Xilinksa to nieco ponad gigabajt danych do ściągnięcia i spore wymagania jeśli chodzi o sprzęt. A na dodatek "Requires Red Hat Enterprise 3.0", przez co już wiadomo, że mogą być kłopoty z jego uruchomieniem na Ubuntu. W przypadku Altery też podobnie...

Dlatego muszę skorzystać z GHDL-a i Gtkwave'a. Niestety zintegrowanego pakietu, który zrobiłby wszystko za mnie nie znalazłem, ale może i dobrze. Lepiej poznam ten język. W pakietach typu ISE Webpack czy Quartus (Altera) po napisaniu kodu można sobie "wyklikać" przebiegi testowe i zobaczyć odpowiedź układu. W przypadku GHDL-a muszę sobie napisać samemu testbencha (program testujący). I tu się zaczynają schody...

Na początek napisałem sobie prosty licznik modulo 16:

library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;

entity licznik16 is
port(	CLK: in std_logic;
	Q: out std_logic_vector(3 downto 0);
	R: in std_logic);
end licznik16;

architecture licz of licznik16 is
begin
process(CLK, R)
	variable stan: unsigned(3 downto 0):="0000";
	begin
	if R = '0' then
		stan:="0000";
	elsif (CLK'event and CLK='1') then
		stan:=stan+1;
	end if;
	Q <= std_logic_vector(stan);
end process;
end licz;

Napisałem, stwierdziłem, że powinien działać, ale warto byłoby go sprawdzić. No to wziąłem się za pisanie testbencha... Na początku wszystko szło bez przeszkód. Testbench napisał się momentalnie. Nieco zaglądałem do podręczników i skakałem po przykładach z Internetu, ale jakoś napisałem. Udało się skompilować i wygenerowałem plik z przebiegami, który obejrzałem sobie w Gtkwave. I tu zaskoczenie! Wszystko gra, ale nie do końca... Ale najpierw rzućmy okiem na testbencha:

library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;

entity licztb is
end licztb;

architecture licztbarch of licztb is
component licznik16
port(CLK: in std_logic; Q: out std_logic_vector(3 downto 0); R: in std_logic);
end component;

signal zegar, reset: std_logic;
signal Q: std_logic_vector(3 downto 0);

begin
mapowanie: licznik16 port map(CLK=>zegar, R=>reset, Q=>Q);
process
	begin
	Q<"0000";
	wait for 10 ns;
	zegar <= '0';
	wait for 10 ns;
	reset <= '1' after 1 ns, '0' after 90 ns, '1' after 150 ns;
	wait for 10 ns;
	for i in 0 to 100 loop
		zegar <= not(zegar);
		wait for 50 ns;
	end loop;
	wait;
end process;
end licztbarch;

Czyli jak widać, najpierw zeruję wyjście, co na przebiegach widać. Chwilę potem inicjalizuję zegar (zegar ma operować tylko na stanach 0 i 1, wszelkie pozostałe stany są wykluczone), co też widać. Następnie sprytnie generuję sygnał resetujący licznik, chociaż nie muszę tak naprawdę tego robić, bo licznik został zresetowany na początku procesu. W pętli, tworzę prostokątny przebieg zegara o okresie 100 nanosekund. Zegar ten jest sprzężony z zegarem CLK w w samym liczniku. Czyli z każdym zboczem narastającym (CLK'event and CLK='1') licznik będzie się zwiększał o jeden. I wszystko byłoby ok, gdyby nie to, że zamiast stanu 1 na przebiegach pojawia się stan X (co w logice dziewięciowartościowej oznacza stan nieznany). Mało tego! Układ traktuje go jako jedynkę, bo wcale jego pojawienie się nie zaburza działania. Ale mimo to tego stanu tam nie powinno być!

Ślęczę nad tym już którąś godzinę i nie wiem co z tym zrobić... Czyżby to było związane z konwersją zmiennej typu unsigned na sygnał std_logic_vector? Nie wiem... Ktoś pomoże?

Przebiegi licznika modulo 16 z Gtkwave

Słowa kluczowe: vhdl programowanie komputer linux

Komentarze (0)

Układy programowalne - fajne!

06.11.2006 - Poniedziałek - 20:50

Dzisiaj miałem właściwie pierwszą okazję zapoznać się w praktyce z działaniem układów programowalnych i muszę, z pełną odpowiedzialnością stwierdzić, że jest to fajne ;-)

Ale dla niewprowadzonych krótkie wyjaśnienie. Układy programowalne to takie uniwersalne układy elektroniczne, które można przystosować (zaprogramować) przez wykonywanie fizycznych połączeń pomiędzy poszczególnymi blokami funkcjonalnymi układów do wykonywania najróżniejszych zadań. To taka alternatywa dla drogich układów specjalizowanych.

A jak to wygląda w praktyce? W praktyce mamy w laboratorium płytki testowe, na których jest kilka przycisków, kilka świecących diodek i dwa wyświetlacze siedmiosegmentowe. Taka płytka z układem programowalnym jest podłączona do komputera. Na komputerze jest zainstalowane oprogramowanie producenta układu (w tym przypadku Xilinx), które jest kompilatorem języka VHDL do formatu, który jest wymagany przez ten układ. W VHDL-u piszemy sobie program, który opisuje zachowanie działającego układu. VHDL jest specyficznym językiem programowania, w którym oprócz zmiennych występują również sygnały, a instrukcje można wykonywać współbieżnie lub sekwencyjnie (tak jak to ma miejsce w popularnych, typowo komputerowych językach programowania), dlatego wymaga przestawienia się w inny tryb myślenia. Po skompilowaniu taki program jest wgrywany do pamięci układu. A zawartość pamięci steruje odpowiednimi tranzystorami polowymi, które "otwierają" drogę dla sygnałów, przez co układ zaczyna wykonywać swoje zadanie. W rzeczywistości jest to dość skomplikowane, ale to co widzimy - efekt naszego działania - jest już naprawdę fajną rzeczą ;-)

Z racji nieskomplikowanego układu testowego napisałem dziś tylko licznik modulo 256, z asynchronicznym resetowaniem oraz funkcją start/stop, który wyświetlał swój stan w formie binarnej przy pomocy diód LED oraz w formie szesnastkowej na wyświetlaczach siedmiosegmentowych. Niby nic wielkiego, ale cieszyłem się jak dziecko, choćby dlatego, że jako rasowy programista postawione mi zadanie wykonałem najszybciej i jedynym błędem był drobny błąd w dekoderze sygnału czterobitowego na sygnał ośmiobitowy wyświetlacza siedmiosegmentowego (a właściwie ośmio, bo z kropką ;-)), objawiający się dziwnym wyglądem cyfry "B" ;-) Błąd został szybko poprawiony, a radości nie było końca ;-) Poniżej zamieszczam pełny kod w VHDL-u tego licznika, dla potomności ;-)

library IEEE;
use IEEE.STD_LOGIC_1164.all;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.all;

entity licznik is
port(
	CLK: in std_logic;
	STOP: in std_logic;
	RESET: in std_logic;
	W1: out std_logic_vector(7 downto 0);
	W2: out std_logic_vector(7 downto 0);
	Q: inout std_logic_vector(7 downto 0));
end licznik;

architecture alicznik of licznik is
function hex2led (hex: std_logic_vector(3 downto 0)) return std_logic_vector is
variable s: std_logic_vector(7 downto 0);
begin
case hex is
	when "0000" => s:= "10000001"; --kod wyswietlacza inny od standardowo przyjetego
	when "0001" => s:= "11111001";
	when "0010" => s:= "00010011";
	when "0011" => s:= "00110001";
	when "0100" => s:= "01101001";
	when "0101" => s:= "00100101";
	when "0110" => s:= "00000101";
	when "0111" => s:= "11110001";
	when "1000" => s:= "00000001";
	when "1001" => s:= "00100001";
	when "1010" => s:= "01000001";
	when "1011" => s:= "00001101";
	when "1100" => s:= "10000111";
	when "1101" => s:= "00011001";
	when "1110" => s:= "00000111";
	when "1111" => s:= "01000111";
	when others => s:= "00000000";

end case;
return s;
end hex2led;

begin
process(CLK, STOP, RESET)
variable wartosc: std_logic_vector(7 downto 0);
begin
	if RESET = '1' then wartosc:="00000000";
	elsif rising_edge(CLK) and STOP = '0' then wartosc:=wartosc+1;
	end if;
	W1<=hex2led(wartosc(7 downto 4));
	W2<=hex2led(wartosc(3 downto 0));
	Q<=not(wartosc);
end process;
end alicznik;

Chyba warto się jeszcze trochę podszkolić w VHDL-u ;-)

Słowa kluczowe: WAT komputer programowanie VHDL

Komentarze (2)

Edgy Eft już działa

01.11.2006 - Środa - 16:09

Zainstalowałem. Bez większych problemów. Co oczywiście nie oznacza, że problemów nie było. Jakimś nieznanym zrządzeniem losu zmienna LANG zamiast wartości pl_PL.UTF-8 miała wartość C, przez co miałem anglopolski interfejs z krzakami, a niektóre programy w ogóle nie chciały się uruchomić. Oczywiście zadziałało:

sudo apt-get install localeconf
sudo dpkg-reconfigure localeconf

Już jest wszystko działające. Prawie wszystko... Bo oczywiście mam jeszcze masę programów do zainstalowania z repozytoriów. Wszystko co mi przychodzi do głowy zapisuję na kartce. Już mam prawie całą A4 zapisaną ;-)

Firefox 2.0. Uruchomiłem i wróciłem do lokalnej kopii 1.5.0.7. Muszę wpierw sprawdzić, które rozszerzenia mają odpowiedniki działające z 2.0. Ale na to też przyjdzie pora.

Zauważyłem też jakiś dziwny format /etc/fstab. Ale na szczęście działają też wpisy w starym formacie ;-) Kilka katalogów z routera ładnie po NFS się zamontowało.

Nie podoba mi się ten nowy splash pokazujący się w czasie startu systemu. Nie mam pojęcia co się dzieje. Chyba trzeba będzie go wyrzucić, żeby mieć stary, dobry, tekstowy podgląd na proces startu. Ale za to startuje nieco szybciej ;-)

Słowa kluczowe: linux komputer ubuntu firefox

Komentarze (3)

Migracja Dapper - Edgy

01.11.2006 - Środa - 12:08

Zaktualizuję sobie system. Z Ubuntu 6.06.1 Dapper na 6.10 Edgy. Ale naczytałem się, że może być nieco kłopotów z aktualizacją, więc postawię system od zera. Mam już ściągnięte płyty Desktop i Alternate (ściągnąłem alternate z zamiarem aktualizacji przy jej pomocy), więc teraz zostaje mi tylko wybór płyty. Pewnie zainstaluję z Alternate. Większość zapisanej konfiguracji i tak mam w /home na oddzielnej partycji, dlatego nie będę miał zbyt dużo do ustawiania po instalacji. No może tylko dodam dyski montowane po NFS i zadania do crona.

Zobaczymy jak to będzie wyglądało...

Słowa kluczowe: linux komputer ubuntu

Komentarze (0)

Wynajdywanie koła

01.10.2006 - Niedziela - 00:06

Od dwóch dni siedzę przed komputerem i wynajduję ponownie koło. Konkretnie piszę system zarządzania treścią (CMS), który byłby podobny w użytkowaniu jak Wiki, ale mniej skomplikowany i zorientowany na moje wymagania. A wymagania są konkretne: CMS ma zostać zastosowany na stronie firmowej, na której będzie wpisywana aktualna oferta, opisy produktów, ich ewentualna możliwość zamówienia (taki mini sklep internetowy) i temu podobne rzeczy. Ważne jest, żeby CMS nie ograniczał się tylko do gromadzenia treści w bazie danych, ale umożliwiał również wrzucenie jakiegoś pliku ze skryptem PHP w miejsce standardowej strony wygenerowanej z zawartości bazy danych.

Mam już obręcz, czyli zarys działania i budowy systemu. Mam też już dosyć bogatą klasę (piszę obiektowo w PHP 5), ale większość metod wciąż jest pusta i wymaga implementacji. Szprychy wciąż do zrobienia...

Na razie nie zaimplementowałem kodu metody zamieniającej pseudokod (coś w stylu WikiML) na kod XML, ale czuję, że jak się za to wezmę, to trochę będzie grzebania. Wyrażenia regularne mogą wszystkiego nie załatwić. Szczególnie zastanawiam się na sposobem jakiegoś prostego (w zapisie i w sposobie przetworzenia) opisu tabel z danymi. Potem ładowanie i wstawianie obrazków. No i jakieś makra typowo sklepowe: {{cena}}. {{dostępność}}, {{zamów}} itp.

Pozostaje jeszcze problem odwrotnego przekształcenia, czyli przejścia z XML-a (XHTML-a) na wewnętrzny pseudokod. Może to być sporym kłopotem, więc póki co chyba będę robił przekształcenia tylko w jedną stronę, i obie wersje (pseudokod i XML) zapisywał do bazy. Dość nieeleganckie, ale trudno. Nie jest to priorytetem.

Póki co staram się utrzymywać jako taki porządek w kodzie i stosować się jakiejś konkretnej konwencji zapisu, ale jak znam siebie, to za jakiś czas będzie taki burdel, że sam nie będę wiedział co jest gdzie...

P.S. Wczoraj strzeliły mi 0x16|H lata ;-)

Słowa kluczowe: komputer PHP programowanie

Komentarze (7)

Zrobiłem głupi błąd, a teraz żałuję

25.08.2006 - Piątek - 13:49

Instalując Linuksa pomyślałem, że mógłbym zainstalować go na drugim dysku - sześciogigabajtowym Samsungu. Zupełnie nie wziąłem pod uwagę faktu, że przecież ten dysk ma czasem problemy "ze sobą" i lubi się "zaciąć" z bliżej nieznanej przyczyny.

I co się dzieje? Robię coś, odczytuję jakiś plik i następuje całkowite zawieszenie systemu. Dysk nie odpowiada, wszystko się blokuje... Czasem nawet wiesza się podczas startu systemu. Dmesg nie zwraca żadnych niepokojących informacji o tym dysku, e2fsck nie znalazło badsektorów, a dysk się zacina...

Muszę zaryzykować, usunąć jedną partycję z drugiego dysku i stworzyć tam kopie aktualnych partycji z systemem. Jeśli dobrze mi się wydaje to do uruchomienia tej kopii będzie trzeba wyedytować tylko /etc/fstab i zainstalować uaktualnionego Gruba. No, zobaczymy.

Słowa kluczowe: komputer linux ubuntu

Komentarze (2)

No wreszcie...

22.08.2006 - Wtorek - 10:56

Już wczoraj pojawiło się urządzenie o nazwie takiej, jak mój access point, ale nie pełniło funkcji access pointa (Access Point: Not-Associated). Dzisiaj już jest wszystko w porządku. I nawet pingi do bramki mają średni czas odpowiedzi na niezłym poziomie (rzędu sześciu milisekund). No to kończę narzekanie ;-)

Słowa kluczowe: sieć komputer

Komentarze (0)

Cuda siakieś...

20.08.2006 - Niedziela - 23:49

Po pechowej burzy, kiedy zniknął mój access point, pojawił się w eterze inny, zupełnie mi nieznany. Nie pokojarzyłem faktu pojawienia się tego access pointa, bo myślałem, że mógł być on już widoczny wcześniej, a ja po prostu o nim nie wiedziałem. Jego nazwa zupełnie nic nie mówiła, nie wskazywała na nazwę sieci ani operatora. Za to brzmiała jak nazwa nieskonfigurowanego urządzenia z ustawieniami domyślnymi: airPoint-PROOutdoor. Dziś się do niego podłączyłem i okazało się, że prawdopodobnie jest to access point, który mi zniknął. Sieć działała bez problemów, dużo lepiej niż na access pointach "zastępczych". Niestety działała...

Przyszła kolejna burza i ten AP pojawia się i znika. Na dodatek po połączeniu się z nim sieć nie działa... Coś dziwnego się z nim dzieje. Czyżby się resetował? Mam nadzieję, że mój provider coś z tym zrobi... W końcu weekend się skończył...

Słowa kluczowe: sieć komputer

Komentarze (2)

Ej! Oddajcie mojego access pointa!

19.08.2006 - Sobota - 14:34

Po wczorajszej burzy, a właściwie po wczorajszej drugiej burzy zniknął z eteru access point, do którego byłem podłączony. Na szczęście mój dostawca posiada kilka access pointów, więc mogę się podłączyć do innego, ale to już nie jest to samo. Siła ich sygnału może nie jest tak drastycznie gorsza, ale jakość transmisji pomiędzy mną, a tymi access pointami jest kiepska. Obsługują one ruch z zupełnie innych części miast, toteż są dołączone do anten skierowanych w inną stronę, a ja pewnie łapię od nich sygnał tylko dzięki jakimś odbiciom, bo sygnał jest wystarczająco silny aby nawiązać transmisję, ale też jest bardzo zakłócony, przez co jej jakość jest dużo gorsza.

Teraz, żeby korzystać muszę się co kilkanaście minut przełączać na inny access point zależnie od aktualnego stanu. Ustawiłem już również minimalną możliwą wielkość pakietu - MTU - na 256 bajtów, a mimo to ciągle pakiety są tracone. Aktualnie tylko pakiety mniejsze niż 158 bajtów przechodzą w osiemdziesięciu procentach (mój własny próg uznawalności transmisji za zdatną). Nie wspomnę już o tym, że co chwilę dostaję pakiety większe od mojego MTU o dwa do pięciu bajtów... Są niestety routery gdzieś na świecie, z którymi bez odpowiedniego MTU się nie dogadasz. Niektóre na sztywno wysyłają pakiety 1500 bajtów...

Mam nadzieję, że mój access point jest tylko czasowo wyłączony...

Słowa kluczowe: sieć komputer

Komentarze (1)

Chyba się uda...

04.08.2006 - Piątek - 18:51

Już od dawna zamierzałem uczynić Linuksa systemem, w którym wykonuję swoje codzienne czynności - czytanie poczty, newsów, przeglądanie stron, programowanie itp. Kiedy miałem modem nie miałem szans tego zrobić. Modem nie chciał współpracować z Linuksem. Kiedy dorobiłem się stałego łącza byłem już zbyt uzależniony od Windowsa. Miałem chęci, żeby jednak się przesiąść ale nie udało mi się to. Sterowniki do D-Linka DWL-520+ nie nadawały się jeszcze do normalnego używania. Nie potrafiły utrzymać połączenia, przez co ich używanie było bez sensu. Pozostawałem przy Windowsie. Ale kiedy w moim domu pojawiła się pierwsza paczka z Ubuntu 5.04 okazało się, że już sterowniki dla tej karty są już na tyle dobre, że można z nich normalnie korzystać. Dorobiłem się trzeciego komputera, który przeznaczyłem na router. Zainstalowałem na nim Ubuntu i przełożyłem do niego kartę sieciową. W tym momencie rozpoczęła się ponownie moja przygoda z Linuksem ;-)

Dwa lata po dorobieniu się stałego łącza zaczynam kolejną migrację na Linuksa. Mam teraz na desktopie zainstalowanego Ubuntu 6.06, który możliwościami i wygodą bije Windowsa na głowę. Skonfigurowałem go do swoich potrzeb i, co najważniejsze, wcale nie czuję, żebym tęsknił za Windowsem ;-)

Od dawna już pod Windowsem korzystałem z oprogramowania wieloplatformowego. Zamiast notatnika miałem GVima, zamiast powszechnych pirackich wersji Photoshopa, korzystałem z Gimpa (chociażby do obróbki zdjęć), zamiast MS Office'a miałem OpenOffice'a. Nawet grupy dyskusyjne czytałem przy pomocy slrn-a ;-) No i oczywiście Firefox ;-)

Większość z tych potrzebnych mi do życia programów to oprogramowanie typowo Linuksowe, które chyba tylko przez przypadek, pojawiły się w wersjach dla Windows ;-) Z nimi nie było problemów. Problemy pojawiły się z oprogramowaniem dostępnym tylko dla Windows. Korzystałem z programu pocztowego TheBat! Szukałem czegoś, co mogłoby mi go zastąpić. Thunderbird jakoś nie przypadł mi do gustu. Przez przypadek zainteresowałem się Sylpheedem. I to okazał się strzał w dziesiątkę! Nie ma on tylu opcji co TheBat!, ale w zupełności mi wystarcza. Korzystałem też z Hamstera jako lokalnego serwera news. Musiałem zacząć korzystać z noffle'a, a ten nie jest tak elastyczny jak Hamster. Trochę szkoda, ale mogę się z tym pogodzić. Brakuje mi jednak jednego programu - IrfanView. Niestety nie mogę znaleźć programu, który miałby opcję, do której się przyzwyczaiłem. Przeglądając zdjęcia muszę, po prostu muszę korzystać ze spacji jako klawisza zmiany zdjęcia na następne (tu nie ma problemu, jest sporo programów, które to potrafią); muszę też mieć możliwość włączenia trybu pełnoekranowego (też sporo ma taką możliwość), ale żaden z dotychczas sprawdzanych nie potrafi wyłączyć się po wciśnięciu Esc. A tego mi bardzo brakuje. Po prostu jestem uzależniony od klawisza Escape jako wyłącznika przeglądarki grafiki ;-)

Po przejściu na Linuksa zmieniłem też klienta Jabbera. Dotychczas korzystałem z Psi, które jest strasznie pamięciożerne. Uznałem w końcu, że mam już dość tej ociężałości i zmieniłem klienta na Gajima. I to był bardzo dobry krok. Jest szybki i ma wszystko czego potrzebuję ;-)

Jeszcze mam trochę rzeczy do skonfigurowania (chociażby drukarkę udostępnioną w sieci przez Sambę), ale mam nadzieję, że wytrwam ;-) Wczoraj włączyłem tylko na chwilę Windowsa, żeby wyeksportować książkę adresową z TheBata! I to było wszystko ;-)

Przy okazji chciałbym nadmienić, że mam licencję na Windowsa XP. Dostałem za darmo z uczelni. Raczej z niej nie skorzystam, ale skoro dawali to wziąłem. Jakoś XP wcale mnie nie kręci ;-)

Słowa kluczowe: linux komputer

Komentarze (3)

noffle, slrn i UTF8

25.07.2006 - Wtorek - 00:28

Zainstalowałem na routerze lokalny serwer news - noffle. Bardzo przyjemny program. Łatwy w konfiguracji i nawet prosty w użytkowaniu. Niestety ma jedną wadę - nasłuchuje tylko na localhoście (to znaczy przyjmuje połączenia tylko z adresu zwrotnego - 127.0.0.1). Szkoda. Zainstalowałem sobie leafnode inny tego typu serwer. On, według dokumentacji, ma możliwość nasłuchiwania na lokalnym interfejsie. Niestety, mimo, że robiłem wszystko tak jak było napisane w dokumentacji, nie udało mi się uzyskać pożądanego efektu. Pozostałem przy noffle.

Skoro muszę mieć lokalny czytnik na tym samym komputerze co noffle, to musiałem też na routerze zainstalować slrn-a. I wszystko byłoby cacy gdyby nie pewien problem... Mianowice locale, które u mnie jest:

root@eu07:~ # echo $LANG
pl_PL.UTF-8

No właśnie... Unikodowe. A z tego co się dowiedziałem (a potem przekonałem się na własnym komputerze) slrn nie chce poprawnie działać z unikodowym locale. Jeśli miałbym locale kodowane w ISO-8859-2 to nie byłoby żadnego problemu... Ale ja chcę mieć unikodowe locale. Chcę być trendy ;-)

Ale próbowałem. Oczywiście poustawiałem odpowiednie nagłówki slrn-owi. Ale slrn nie potrafi zrozumieć, że mój terminal operuje na unikodzie (set charset utf-8 wywala oczywiście błąd). Dlatego wszystkie posty, które wychodziły ode mnie wychodziły w unikodzie, mimo, że z nagłówkami ISO-8859-2. Pozostało tylko przekonfigurowanie Vima. Ale Vim też się specjalnie do tego nie nadaje - kombinowanie z ustawieniami set termencoding=utf-8 i set encoding=iso-8859-2 nie dawało poprawnego rezultatu, bo znaki owszem były zakodowane w ISO-8859-2, ale pozostawał przed nimi jakiś unikodowy "śmieć". Oczywiście, że można te śmieci usunąć jednym ruchem, ale to nie jest eleganckie rozwiązanie. Wykombinowałem więc, żeby przekodowywać pliki .followup i .article na ISO-8859-2 przed ich wysłaniem. To działało, ale to też nie jest zbyt dobre rozwiązanie - za każdym razem trzeba uruchamiać jakiś program konwertujący.
Oprócz tego pojawiał się kolejny problem. Przy unikodowym locale tylko posty napisane w unikodzie wyświetlały się poprawnie. W innych postach, znaki spoza tych dostępnych bezpośrednio z klawiatury wyświetlane były jako <kod>, a to strasznie nieprzyjemnie wygląda i utrudnia czytanie...

Miałem jeszcze nadzieję, że pomoże tutaj slrn-pl. Ściągnąłem, skompilowałem, uruchomiłem... I nic... To samo. I nie ma się co dziwić, bo to przecież ten sam slrn, oparty na tej samej bibliotece S-LANG. Ponoć w nowej wersji tej biblioteki będzie obsługa unikodu i wtedy slrn dostanie jego wsparcie. Ale kiedy to będzie...

No nic... Musiałem skorzystać z półśrodka, ale przynajmniej poprawnie działającego. Na czas działania slrn-a zmieniam locale z UTF-8 na ISO-8859-2. Locale ISO w Ubuntu jest trochę niepełne i slrn z trybu "dość dużo spolsczonego" przeskakuje w tryb "najwyżej parę spolszczonych wyrazów". Na dodatek na fizycznym terminalu całkowicie wtedy znikają "ogonki" - te litery najzwyczajniej są wcinane, a tekst wyświetla się tak jakby ich nie było. Na szczęście na routerze nie będę korzystał z slrn-a na fizycznym terminalu. Będę korzystał przez SSH, a w Windowsowym putty i w wielu terminalach graficznych pod Linuksem (chociażby standardowy terminal Gnome) jest możliwość wyboru kodowania znaków. Robię "myk" i wszystko jest ok. Szkoda tylko, że potrzebne jest takie kręcenie w kółko...

Wrócę jeszcze do widoczności noffle'a poza localhost. Tego nie przeskoczę, ale mogę pokombinować z montowaniem katalogu z grupami przez sieciowy system plików - nfs (samba się nie nada, bo nie ma możliwości przekazać praw dostępu) i zainstalowaniem na komputerze zdalnym noffle'a, którego pliki konfiguracyjne byłyby też dostępne przez nfs. Hmm... To ma szanse wziąć ;-)

Słowa kluczowe: linux ubuntu komputer slrn vim utf-8

Komentarze (4)

Cuda!

13.07.2006 - Czwartek - 18:24

O ja! Tak po prostu wcisnąłem wtyczkę do gniazda karty dźwiękowej w moim komputerze i okazało się, że jednak działa... A kilka miesięcy temu nie działała i to niezależnie od systemu...

Cuda się jednak dzieją...

Słowa kluczowe: komputer

Komentarze (0)

Problem z kolorowaniem w Vimie

04.07.2006 - Wtorek - 16:28

Myślałem, że już wszystko wróciło do normy. Ale okazało się, że jeszcze nie. Nie działało kolorowanie w Vimie. Teoretycznie syntax on jest wpisane do pliku /etc/vim/vimrc, ale kolorów nie widać. Próba włączenia kolorowania przez wydanie komendy syntax on w działającym już Vimie kończyła się błędem:

Wykryto błąd podczas przetwarzania /usr/share/vim/vim64/syntax/syntax.vim:
wiersz   42:
E216: Nie ma takiej grupy lub wydarzenia: filetypedetect BufRead

I bądź tu człowieku mądry...

Ale coś z tym zrobiłem. Okazało się, że aktualizacja Ubuntu spowodowała też aktualizację Vima 6.3 do Vima 6.4, ale nie spowodowała aktualizacji plików konfiguracyjnych. Wystarczy wyedytować plik /etc/vim/vimrc i zamienić linijkę:

set runtimepath=~/.vim,/etc/vim,/usr/share/vim/vimfiles,/usr/share/vim/addons,/usr/share/vim/vim63,/usr/share/vim/vimfiles,/usr/share/vim/addons/after,~/.vim/after

na:

set runtimepath=~/.vim,/etc/vim,/usr/share/vim/vimfiles,/usr/share/vim/addons,/usr/share/vim/vim64,/usr/share/vim/vimfiles,/usr/share/vim/addons/after,~/.vim/after

Czyli po prostu uaktualnić ścieżki. Potem już wszystko działa wyśmienicie. A piszę to, bo może ktoś będzie miał podobny problem ;-)

A może ściągnąć i zainstalować sobie Vima 7... Może...

Słowa kluczowe: komputer linux ubuntu

Komentarze (3)

I po aktualizacji...

03.07.2006 - Poniedziałek - 16:10

Zakończyłem już aktualizację Ubuntu na routerze. Niestety, nie przebiegła bezproblemowo, ale od początku.

Polecenia:

# apt-get update
#apt-get dist-upgrade

wykonałem wczoraj około 23:00. Myślałem, że wszystko wykona się szybko i sprawnie w nocy. Do ściągnięcia było 255 megabajtów pakietów. No to zaczęło się ściągać. Obudziłem się około piątej rano. Ściągnięte było tylko 94%. Nieciekawie. Nie zdąży się to wszystko wykonać przed moim wyjazdem do Skierniewic... Ale wracam do łóżka. O szóstej dysk przestał skrobać. Wstałem i zobaczyłem, że wszystko zostało ściągnięte, prócz jednego, niewielkiego pakietu: lvm2. Ponownie apt-get dist-upgrade. Ściągnęło się. Rozpoczęło się instalowanie pakietów. Kilka pytań, o nazwę systemu, konfigurację Postfiksa itp. OK. Leci dalej. Około 6:30 wywala się nagle... Pakiet lvm2 jest uszkodzony. No to usunąłem ten pakiet i poprosiłem o jego ponowne pobranie. Dodatkowo jeszcze dpkg -f --configure, żeby uzupełnić konfigurację już zainstalowanych pakietów. Ponownie apt-get dist-upgrade. Znowu to samo. Ten pakiet musi być uszkodzony na serwerze. Trudno. Kombinuję dalej. To może apt-get dist-upgrade --ignore-missing --no-download oraz usunięcie tego uszkodzonego pakietu. Poszło! Dokończyło się! Reboot. A tu już siódma rano!

Komputer wstał. Ale sieci nie widzi... Mało tego, ładowanie modułów jądra wywala same błędy... Ponownie apt-get dist-upgrade --ignore-missing --no-download. Ej?! To jeszcze nie był koniec? Teraz stwierdził, że ponad 400 pakietów nie zostało do końca zainstalowanych i rozpoczął ich konfigurację. O! Leci konfiguracja pakietu z jądrem! Koniec? No to reboot.

O! Teraz wstały interfejsy sieciowe. Ale już nie mam czasu grzebać dalej. Muszę się zbierać.

Pojechałem do Skierniewic, załatwiłem to co miałem i wróciłem. Uruchamiam komputer. Patrzę... Hmm... Normalnie mogę z komputerów do niego przyłączonych pingować komputery w Internecie, DNS-y ładnie resolvują adresy, połączenia uda się nawiązać, ale... Nie ma transmisji!

Próbuję sprawdzić pocztę. Nie mogę. Połączenia zrywają się po (udanych) logowaniach na serwer. Czasem tylko można wysłać komendę RETR i to wszystko. WWW nie chodzi, no chyba, że przez proxy, które jest na routerze. Dziwne... Coś nie działa z iptables... Oglądam regułki. Te same. Przed aktualizacją działały bez problemu. Kombinuję... Nic! To samo! A czasem nawet gorzej, bo w ogóle nie widać sieci.

Zaczynam szukać w Internecie. Niestety, wszędzie widzę te same, oklepane regułki (które dotychczas działały i u mnie). Już jestem wkurzony. Zaczynam szukać po słowach kluczowych: iptables i wolno. Masa linków do różnych forów. Oglądam tamtejsze rozwiązania i je testuję. Nic. Albo bez zmian, albo w ogóle brak routingu do proxy(!). Hmm... Dziwne... Internet jest, ale działa jak przy zbyt dużej wartości MTU. Przeszukuję te znalezione strony pod kątem słowa MTU. O! Coś jest. Odnosi sie do Neostrady, ale może zadziała:

# iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

O ja Cię! Nie wiem co dokładnie robi ta regułka, ale najważniejsze, że jest rozwiązaniem mojego problemu! Wreszcie!

Ale teraz, tak się tylko zastanawiam, dlaczego wcześniej działało, a teraz już nie chciało?! ;-)

Słowa kluczowe: komputer ubuntu linux

Komentarze (2)

Aktualizacja Ubuntu

02.07.2006 - Niedziela - 16:36

Przedwczoraj przyszły do mnie płytki z Ubuntu 6.06. W ubuntu style etui jest jedna płyta, która jest płytą instalacyjną i Live CD. No i przypomniało mi się, że najwyższa już pora zaktualizować swoje 5.04 działające na routerze na 6.06. Niestety, przy pomocy przysłanych mi płyt tego się nie da zrobić. Jedyną możliwością jest ściągnięcie obrazu płyty alternative lub zaktualizowanie dystrybucji całkowicie przez Internet. Aktualizacja z płyty pozwoliłaby mi tylko na zaktualizowanie części pakietów bez ich ściągania, a i tak musiałbym ściągnąć cały obraz. Nie ma sensu. Zaktualizuję przez Internet.

No, ale trzeba to rozplanować jakoś logistycznie. Na routerze nie mam żadnego środowiska graficznego, więc odpadają ogromne pakiety związane z iksami, Gnome czy czymkolwiek innym graficznym. Zainstalowane mam tylko małe programy i kilka serwerów, ale nie są one zbyt wielkie. Mimo to ściąganie trochę potrwa, więc aktualizacja pewnie ruszy w nocy ;-)

Na wszelki wypadek zrobiłem sobie kopie najważniejszych katalogów z plikami konfiguracyjnymi, tak, żebym mógł w miarę łatwy sposób odtworzyć konfigurację systemu. Chciałem zrobić również obraz całego dysku, ale dd, po przemieleniu prawie dwóch gigabajtów stwierdziło, że przekroczona została maksymalna wielkość pliku. Dziwne, zapisywałem ten plik na partycji FAT32, a tu maksymalna wielkość pliku jest wyrażana w terabajtach... Ale cóż, nie da się. Szkoda.

Teraz tylko pozostaje mieć nadzieję, że uda się zaktualizować system i że nie będzie później żadnych problemów z działaniem. Trzymajcie kciuki! ;-)

Słowa kluczowe: komputer ubuntu linux

Komentarze (2)

A czemu nie ;-)

02.05.2006 - Wtorek - 14:30

Nie korzystam z iksów na routerze. Ale miałem je zainstalowane, bo czasem się przydawały (na przykład do programu Gtkwave, który analizuje wyniki zwrócone przez programy pisane w VHDL-u). Dzisiaj chciałem je uruchomić. Nie udało się. Czemu? Nie mam pojęcia. Probowałem je rekonfigurować, ale maksimum moich osiągnięć to 320x240x8, co nawet w moim przypadku nie jest do przyjęcia. Cóż więc zrobiłem?

#apt-get remove xorg-common

Wylistowały mi się dwa pełne ekrany pakietów, które będą, niejako przy okazji, usunięte. Ogarnąłem je szybko wzrokiem, wcisnąłem T i poszło...

Dysk mielił chyba pół godziny, ale efekt jest całkiem niezły. Zwolniło mi się prawie pół gigabajta miejsca na dysku, a biorąc pod uwagę, że jest to dysk 3,2 GB to warto było poświęcić nieco czasu ;-)

Jedyne co mnie zdenerwowało to fakt, że usunął się też pakiet php4-gd, ale można go było przywrócić kosztem tylko 3MB miejsca na dysku.

Teraz myślę, żeby zaktualizować na routerze Ubuntu 5.04 na 5.10. Ale, chyba lepiej poczekać aż się pojawi Ubuntu 6.06.

Słowa kluczowe: linux komputer ubuntu

Komentarze (2)

Było przecież gorzej!

21.03.2006 - Wtorek - 18:29

Proste polecenie:

# iwconfig wlan0

I część jego wyniku:

          Link Quality=33/100  Signal level=18/100  Noise level=4/100

Co się dzieje? Od kilku tygodni jest dobra jakość sygnału. Na początku bytności karty radiowej w routerze jakość wahała się w okolicach 15%! Urosło?! ;-)

Słowa kluczowe: komputer sieć linux

Komentarze (0)

Luki w pamięci?

07.03.2006 - Wtorek - 21:39

Kiedy ja zainstalowałem sobie Gimpa 2.2? Rękę bym sobie dał uciąć, że mam wciąż 2.0. Dziwne...

Słowa kluczowe: krzysiek komputer

Komentarze (3)

Niektóre rzeczy jednak mnie przerastają

18.02.2006 - Sobota - 20:05

Po kilkunastu miesiącach, gdy w moim komputerze nie było karty dźwiękowej, postanowiłem wreszcie wydać te dwadzieścia kilka złotych i zaszaleć z nową z Allegro. Kupiłem, dziś dostałem wypasioną, nowoczesną kartę Creative Sound Blaster 128 PCI - model w sam raz do moich wymagań.

Wcisnąłem ją w port na płycie. Windows ładnie ją wykrył, zainstalowały się sterowniki. Ubuntu też bez problemu rozpoznało tę kartę. I wszystko byłoby ok, gdyby nie to, że nie ma dźwięku!

Dokładnie to samo miałem z poprzednią kartą, którą kilkanaście miesięcy temu uznałem za martwą, a która po przełożeniu do innego komputera okazała się jednak żywa i to nawet całkiem sprawna. Tak samo pod Linuksem jak i pod Windowsem, co wyklucza problem software'owy.

Kolejną myślą, która mi zawitała do głowy, było domniemanie uszkodzenia karty. Przecież już nie nowa, używana i za psie pieniądze. Ale to mało prawdopodobne, bo prędzej nie dawałaby żadnych oznak życia. Myśl trzecia - kontrolna - niedociśnięta karta w gnieździe. Dociskanie i zmiana portów nie dały żadnych rezultatów.

Czwarta myśl wymagała dłuższego kombinowania. Dźwięku w komputerze używałem rzadko, więc objaw, którym był jego brak mogłem spostrzec z dużym opóźnieniem. Zacząłem się zastanawiać, co, kilkanaście miesięcy temu, zmieniło się w moim komputerze. Sieciówka! Ta, sieciówka za 40 złotych! Szybko wyciągnąłem ją z komputera, uruchamiam go ponownie... Sytuacja się nie zmieniła. Konflikt z tym urządzeniem jest raczej mało prawdopodobne...

Przełożyłem dźwiękówkę do drugiego komputera. Działa.

I teraz zastanawiam się gdzie tkwi przyczyna problemu? Czyżby zwaliła się płyta główna? Mało możliwe, bo brak dźwięku jest jedynym problemem jaki zauważyłem. Czyżby były uszkodzone gniazda na płycie? Mało możliwe, bo po przełożeniu sieciówki do innych gniazd działa bez problemu. Tylko ten Sound Blaster taki kłopotliwy jest...

Słowa kluczowe: komputer sprzęt

Komentarze (3)

ZSR czyli zdalne sterowanie routerem

11.02.2006 - Sobota - 22:25

Tak, już działa. Jest gdzieś w Sieci malutki formularz, do którego należy wklepać polecenie, a to polecenie wykona się na moim routerze ;-)

Aktualnie cron sprawdza dyspozycje co trzy minuty. I to jest chyba najodpowiedniejsza częstotliwość. Raczej nie będę tego zmieniał. Najwyżej rozrzedzę sprawdzanie w godzinach nocnych.

Pozostał mi jeszcze do wykonania moduł wysyłający informacje z routera do serwera pośredniczącego, ale na to też przyjdzie pora ;-)

Słowa kluczowe: komputer programowanie sieć linux

Komentarze (1)

Dziwny pomysł na zdalną administrację

04.02.2006 - Sobota - 18:46

Ponieważ mojemu routerowi (czyli temu komputerowi, który nabyłem za zabójczą cenę 50 zł i który dalej będę nazywał tym mianem) zdarza się miewać uptime rzędu kilku dni (a chodziłby dłużej, gdybym go po prostu nie wyłączał ;-)) i ponieważ zdarza się, że jestem poza domem, kiedy pracuje ten komputer chciałbym mieć jakąś prostą możliwość kontrolowania komputera zdalnie.

Do dyspozycji mam:

Na bezpośrednie połączenie telefonu komórkowego z routerem są marne szanse. Telefon ma dynamiczny adres IP, a router go nie pozna. Na dodatek telefon musiałby pełnić rolę serwera, a pisanie jakiegokolwiek oprogramowania w Javie, które by realizowało taką funkcję z pewnością mija się z celem. Czyli do połączenia routera z telefonem (a właściwie do przekazania pomiędzy nimi informacji) musi być jakiś pośrednik.

Cały system widzę następująco. Na zewnętrznym serwerze (dostępnym zarówno z routera jak i telefonu) umieszczam prosty skrypt z autoryzacją, służący za pośrednika. Pośrednik ten ma gromadzić w bazie danych (czy w jakikolwiek inny sposób) dyspozycje dla routera. Wydawanie dyspozycji ma następować przez przeglądarkę w telefonie komórkowym. Interfejs skryptu ma też pokazywać jakieś informacje o bieżącym stanie routera, procesów na nim uruchomionych itp.

Router co jakiś czas (i tutaj kłania się cron) powinien łączyć się z serwerem pośredniczącym i uaktualniać dane na temat aktualnego stanu routera, procesów itp. Powinien też pobierać dyspozycje i je wykonywać. Czyli wykonanie dyspozycji nie będzie natychmiastowe, ale opóźnione maksymalnie o czas powtarzalności procesu w cronie. Jest to niezbyt wielka niedogodność biorąc pod uwagę, że router nie jest komputerem o znaczeniu strategicznym ;-) Drugim problemem jest zawodność pośrednika. Jeśli serwer pośredniczący nie będzie działał (lub routerowi nie uda się połączyć z pośrednikiem, co na jedno wychodzi), z całej zdalnej kontroli nici. Ale z tym też trzeba się pogodzić.

Pomysł jest do zrealizowania. Niby to nic specjalnego, ale możliwość wyłączenia komputera w domu jadąc pociągiem to fajna rzecz. Cóż... Trzeba się będzie za to wziąć (oczywiście głowę powinienem mieć zajętą dużo ważniejszymi sprawami - na przykład poniedziałkowym egzaminem z Analogów ;-))

Słowa kluczowe: komputer sieć linux

Komentarze (7)

Rozwiązanie gnębiącego problemu?

01.02.2006 - Środa - 22:28

Pamiętacie, jak jakiś czas temu narzekałem na to, że jestem w stanie ściągać z "przyzwoitą" prędkością, ale z wysyłaniem to już jest okropna męczarnia? Wydaje mi się, że znalazłem dziś rozwiązanie - MTU, a konkretnie jego zmniejszenie. Przyszło mi do głowy, żeby dokładnie poczytać o tej wartości. Uruchomiłem Google'a i przeszukałem grupy dyskusyjne pod kątem MTU i WLAN. Już pierwsze posty potwierdziły, że dobrze zacząłem kombinować ;-)

Sprawdziłem w praktyce. Zmniejszenie MTU z 1500 bajtów do (jak na razie) 1000 bajtów spowodowało, że ustabilizowało się wysyłanie. Co prawda są to obserwacje dopiero z kilku minut działania, ale już wydają się być obiecujące.

Cóż... Człowiek uczy się całe życie, nawet jeśli myśli, że zjadł już wszystkie rozumy ;-)

Teraz pozostaje mi tylko głębsze przetestowanie ustawień, a później (w razie powodzenia testów) doświadczalne ustawienie optymalnej wartości MTU :-)

Słowa kluczowe: komputer sieć linux wlan

Komentarze (4)

Paradoks

10.12.2005 - Sobota - 22:33

Niech mi ktoś wytłumaczy ten paradoks: mogę pobierać dane z Sieci, ale wysyłać to już nie bardzo.

Od jakiegoś czasu nie mogę wysłać:

Wysyłanie listu/pliku wygląda następująco. Rozpoczyna się transmisja. W ciągu chwili wysyłane jest kilkanaście kilobajtów, a potem, aż do timeouta, ani jeden bajt już nie dociera do odbiorcy.

Ale za to mogę bez zauważalnych problemów:

I tu pojawia się pytanie: skoro mam kłopoty z wysyłką, to dlaczego nie mam kłopotów z odbieraniem danych? Przecież całe TCP/IP działa na zasadzie odbioru danych i potwierdzania tego odbioru, już nie wspomnę o warstwie aplikacji, chociażby o takim protokole jak protokół XMMP Jabbera, gdzie cokolwiek nie napiszę musi dostać swoją xml-ową otoczkę, i zostać wysłane do serwera.

Co to *(#(%@ ma znaczyć?!

Słowa kluczowe: komputer sieć

Komentarze (6)

Mission (almost) accomplished

25.11.2005 - Piątek - 22:26

Dziś to zrobiłem. Wreszcie przekazałem wszystkie planowane obowiązki trzeciemu komputerowi. Teraz jest to serwer WWW/SSH/MySQL (dla sieci domowej) oraz router udostępniający połączenie dwóm pozostałym komputerom. A dlaczego mission jest almost accomplished? Bo jakość połączenia wskazywana przez iwconfig oscyluje w granicach 18 - 28 % dla najsilniejszego punktu dostępowego. Oprogramowanie windowsowe wskazywało jakość powyżej 60%. Skąd taka różnica? Nie wiem, ale przypuszczam, że jest stosowana inna metoda pomiaru. Kolejnym, jeszcze nierozwiązanym, problemem, który wynika ze słabego sygnału są komunikaty generowane przez moduł jądra odpowiedzialny za kartę sieciową. Na konsoli (i w poleceniu dmesg) pojawia się masa informacji, że sygnał jest za słaby i żeby zwiększyć txpower. Wiem, że muszę przekazać modułowi parametr debug=0x0, ale nie mam (jeszcze) pojęcia jak, bo moduł ten jest ładowany przez hotpluga.

A tak ogólnie, to bardzo ładnie chodzi ;-)

Słowa kluczowe: komputer sieć linux ubuntu

Komentarze (3)

Dźwięk ponownie

09.10.2005 - Niedziela - 14:09

O ja głupi! Przez to wciąż tkwiące w mojej głowie przekonanie, że karta dźwiękowa zintegrowana to karta dźwiękowa, która nie nadaje się do użytku nie wpadłem na pomysł, że "charczenie" jest spowodowane po prostu przesterowaniem wyjścia! Nawet pomimo tego, że wszystkie objawy na to wskazywały!

Ale fru! Uruchamiam alsamixer i zmniejszam wszystko tak do około 50%. Uruchamiam mpg123 i co? No właśnie nic! Poniżej wartości 85% karta dźwiękowa nie daje żadnego sygnału. To dopiero nazywa się płynna regulacja ;-)

No, ale teraz dźwięk nie charczy, a na oscyloskopie z pewnością pojawiłby się wykres przebiegu ewidentnie różniczkowalnego ;-)

Słowa kluczowe: komputer linux

Komentarze (0)

Poprawka!

08.10.2005 - Sobota - 19:11

A jednak! Wszystkie kanały miały ustawioną flagę off. Dopiero dogrzebanie się w manualu do informacji o tym, że włączyć je można klawiszem m pomogło ;-)

Słowa kluczowe: komputer linux

Komentarze (7)

Serwerowania ciąg dalszy

08.10.2005 - Sobota - 18:58

Od kilku dni serwer już działa, ale wciąż jest w fazie "zgrubnej" konfiguracji.

Już działa Apache2. Do tego dochodzi PHP w wersji czwartej oraz mySQL też w wersji czwartej. Mogę wymieniać pliki pomiędzy Windowsem i Linuksem dzięki Sambie, dostać się do konsoli dzięki OpenSSH, a na graficzny pulpit dzięki VNC. Żeby nie grzebać za dużo w plikach konfiguracyjnych zainstalowałem Webmina. I normalnie jest luksus ;-)

Ale! Ale nie jestem w stanie uruchomić karty dźwiękowej na tym komputerze. Z tego co udało mi się wygooglać to jest to zintegrowana karta typu Cirrus Logig Crystal CS4236. Znalazłem do niej odpowiedni moduł, znalazłem opis konfiguracji, wykonałem wszystko jak należy. Ale dźwięku nie ma. Z pewnością doszedłem dość daleko, bo przynajmniej programy do odtwarzania przestały krzyczeć, że nie ma urządzenia dźwiękowego, ale wciąż jest cisza!

Głośność kanałów ustawiłem na maksimum, przewody są sprawne. Co jest przyczyną?!

Znajdzie się jakiś Wujek Dobra Rada? ;-)

Słowa kluczowe: komputer linux

Komentarze (2)

Samba

06.10.2005 - Czwartek - 21:00

Nie, nie będę pisał o brazylijskim pląsie, ale o linuksowym zastępniku "Sieci Microsoft Windows".

Męczyłem się z tym od dłuższego czasu. Chciałem mieć w miarę łatwy dostęp do dysku serwera działającego na Linuksie spod Windows. Uruchomiłem sambę, ale za nic nie mogłem się zalogować. Za każdym razem byłem pytany o hasło. Wszystkie hasła, które mogłem zmieniłem na własne, ale wciąż żadne z nich nie pasowało.

Dziś znalazłem przyczynę! W pliku smb.conf zamiast:

security = user

Powinienem mieć:

security = share

I wszystko zaczęło pięknie działać! Mam dostęp do wydzielonych katalogów i będę mógł swoje projekty przenieść teraz na serwer.

Pozostaje tylko jeszcze zorganizowanie połączeń pomiędzy wszystkimi komputerami...

Słowa kluczowe: komputer linux ubuntu

Komentarze (3)

Stoi na podłodze kompomotywa ;-)

03.10.2005 - Poniedziałek - 19:42

Dzisiaj dotarła do mnie zamówiona maszyna. Maszyna z serii superkomputerów ;-) Celeron 300 MHz, 64 MB pamięci RAM, dysk Maxtor 3,4 GB oraz wszystko co możliwe zintegrowane ;-)

Maszyna miała jeszcze zainstalowaną szwedzką wersję Windowsa 95, która i tak nie chciała się uruchomić, bo przed pracą żądała połączenia z jakimś szwedzkim serwerem. Czym prędzej ją wywaliłem, a na jej miejsce wpadło Ubuntu.

Na razie testowo zainstalowane. Chciałem tylko sprawdzić jak się będzie zachowywało na tym komputerze i muszę powiedzieć, że bardzo ładnie. Jak tylko będę miał switcha, montuję tam kartę sieciową od anteny WiFi i instaluję Ubuntu tym razem w trybie expert, a nie, jak teraz, default, dla oszczędności czasu, której i tak pewnie nie było, bo chyba wszystko się zainstalowało co mogło ;-)

Bardzo spodobało mi się apt-get, ale szkoda, że domyślnie są zakomentowane linijki z adresami serwerów z pakietami. Tak samo dziwne było to, że podczas instalacji system nie spytał się o hasło dla roota. Ale chwila grzebania w archiwach grup dyskusyjnych zaowocowała wykonaniem sudo -s -H, a potem passwd.

Od razu jak tylko mogłem uruchomiłem serwer openssh oraz serwer VNC dla iksów, bo ciągłe przekładanie wtyczki od monitora było denerwujące ;-)

Niestety do komputera oczywiście nie było kabla zasilającego. Musiałem podkraść go siostrze ;-) Podłączyłem do niego jakąś starą niemiecką klawiaturę. I dobrze, że już dawno nauczyłem się pisać bezwzrokowo na klawiaturze, bo szlag by mnie trafił ;-) Na tej klawiaturze oczywiście klawisz Z jest zamieniony z Y, zamiast średnika i dwukropka jest Ö, zamiast apostrofu i symbolu cala Ä itp. ;-)

Nie miałem też krótkiej skrętki. Mimo, że komputery stoją obok siebie, to łączy je dwunastometrowy przewód ;-)

Nie mogę jeszcze dojść do ładu rozdzielczością ekranu pod iksami. Ale nie jest to dla mnie priorytetem z racji tego, że ten komputer i tak nie będzie służył jako stacja graficzna. Za to przydałoby się skonfigurować kartę dźwiękową, której to instalator samodzielnie nie wykrył. Ale to też może poczekać. Na razie muszę skombinować jakiś tani switch. Bo najtańszy (z nowych) switch kosztuje 59 zł, czyli dokładnie dziesięć złotych drożej niż komputer! :-)

A jutro już niestety na zajęcia...

Free Image Hosting at www.ImageShack.us Free Image Hosting at www.ImageShack.us

Słowa kluczowe: komputer linux ubuntu

Komentarze (0)

© Krzysztof Sawicki