24
września
2007
Od paru dni nie dziala we wdrozonej firmie inwentaryzacja. Dzisiaj namierzylem problem w kodzie protokolu BHT do inwentaryzatora na porcie COM. Niezaleznie od tego co sie robilo, zawsze poddawal sie po pierwszym pakiecie danych z komunikatem „Bledna liczba znakow naglowka SOH”....
Kto widzi co tu jest zle? Szukalem problemu od piatku dlubiac w cudzym kodzie. Wlasnie znalazlem :)
//allReaded musi wynosic MAX_SOH_BLOCK_SIZE lub readed + trzy bajty SOH,ETX,BCC if ( ( allReaded != MAX_SOH_BLOCK_SIZE ) || ( allReaded != ( readed + 3 ) ) )
{
qDebug("BLAD: Bledna liczba znakow naglowka SOH");
qDebug(" allReaded : %d ; readed : %d ", allReaded, readed);
}
p.s. Komentarz jest poprawny, ale kod juz nie. Fakt pisania „readed” jako forma przeszla od „read” ... przemilczmy :]
23
września
2007
Dzisiaj nadzialem sie na problem – wsadzilem do kompa drugi dysk. Jeden jest na SATA, drugi na zwyklym ATA. no i okazalo sie ze co kernel to widzi je jako zupelnie inne urzadzenia. Najgorsze bylo to ze instalowalem na nim linuksa dla dziewczyny – dysk bedzie uzywany w zupelnie innym kompie i cholera wie jakie urzadzenie bedzie tam do niego przypisane.
Na szczescie linux ma i na to rozwiazanie.
Rozwiazanie 1: etykiety
ls -l /dev/disk/by-labellrwxrwxrwx 1 root root 10 Oct 16 10:27 data -> ../../sdb2
lrwxrwxrwx 1 root root 10 Oct 16 10:27 data2 -> ../../sda2
lrwxrwxrwx 1 root root 10 Oct 16 10:27 fat -> ../../sda6
lrwxrwxrwx 1 root root 10 Oct 16 10:27 home -> ../../sda7
lrwxrwxrwx 1 root root 10 Oct 16 10:27 root -> ../../sda1
lrwxrwxrwx 1 root root 10 Oct 16 10:27 swap -> ../../sda5
lrwxrwxrwx 1 root root 10 Oct 16 10:27 windows -> ../../sdb1
Katalog ten nie bedzie dostepny gdy zadna partycja nie ma etykiety. Trzeba jakies ponadawac.
* swap: mkswap -L /dev/XXX* ext2/ext3: e2label /dev/XXX
* reiserfs: reiserfstune -l /dev/XXX
* jfs: jfs_tune -L /dev/XXX
* xfs: xfs_admin -L /dev/XXX
* reiser4: metoda nieznana (da sie?) * fat/vfat: mlabel /dev/XXX: – albo z windows * ntfs: ntfslabel /dev/XXX albo z windows
Konfiguracja fstab:
piersza kolumna w pliku zamiast nazwy urzadzenia ma postac
LABEL=etykieta
parametry jadra
zamiast root=/dev/XXX podajemy root=LABEL=etykieta
Wady : pare partycji moze miec te same etykiety na kilku dyskach. Osobiscie odradzam gdy instalujemy system na dysku ktory trafi do nieznanego komputera.
Rozwiązanie 2: po modelu dysku
watanabe ~ # ls -l /dev/disk/by-id/
lrwxrwxrwx 1 root root 9 wrz 24 2007 ata-ST3250823AS_4ND0AB7Z -> ../../sdalrwxrwxrwx 1 root root 10 wrz 24 2007 ata-ST3250823AS_4ND0AB7Z-part1 -> ../../sda1
lrwxrwxrwx 1 root root 10 wrz 24 2007 ata-ST3250823AS_4ND0AB7Z-part2 -> ../../sda2
(....)
lrwxrwxrwx 1 root root 9 wrz 24 2007 ata-ST380021A_3HV0L8LD -> ../../sdb
lrwxrwxrwx 1 root root 10 wrz 24 2007 ata-ST380021A_3HV0L8LD-part1 -> ../../sdb1
lrwxrwxrwx 1 root root 10 wrz 24 2007 ata-ST380021A_3HV0L8LD-part2 -> ../../sdb2
(...)lrwxrwxrwx 1 root root 10 wrz 24 2007 scsi-SATA_ST380021A_3HV0L8LD-part3 -> ../../sdb3
lrwxrwxrwx 1 root root 10 wrz 24 2007 scsi-SATA_ST380021A_3HV0L8LD-part5 -> ../../sdb5
jak widac podany jest tutaj model dysku, jego numer seryjny i numer partycji.
W fstab podajemy w pierwszej kolumnie id= zamiast nazwy urzadzenia.
w jadrze podajemy parametr przykladowo root=/dev/disk/by-id/ata-ST3250823AS_4ND0AB7Z-part1
Wady : Dobre, ale dlugie skomplikowane nazwy. Poza tym nie wiem, chyba tylko po flashowaniu jednego dysku biosem z drugiego moze sie zdarzyc ze oba dyski beda miec taki sam numer seryjny i beda nie odroznialne. Nazwy moga sie zmienic przy modyfikacji kernela (chodzi o przedrostek ata/scsi)
Trzecia metoda – UUID.
UUID to unikatowy identyfikator partycji. Jest na tyle dlugi ze trafienie na druga taka partycje z takim UUID jest praktycznie niemozliwe.
lrwxrwxrwx 1 root root 10 wrz 24 2007 0b747fd7-f505-4b7b-a915-f939a74bddcd -> ../../sda6lrwxrwxrwx 1 root root 10 wrz 24 2007 11a7702f-a82f-4469-9e56-81862b1a8528 -> ../../sdb2
lrwxrwxrwx 1 root root 10 wrz 24 2007 489f1cb6-4226-479e-9915-faca3ba324ef -> ../../sdb1
lrwxrwxrwx 1 root root 10 wrz 24 2007 4e142825-0f07-4b3b-b8ec-4b90e8e7317e -> ../../sda5
lrwxrwxrwx 1 root root 10 wrz 24 2007 7eb786bf-8ab6-461c-91b9-28164a6a2e5b -> ../../sdb5
lrwxrwxrwx 1 root root 10 wrz 24 2007 928b41c1-48ce-402b-8aa1-a592099dcd58 -> ../../sda7
lrwxrwxrwx 1 root root 10 wrz 24 2007 b1db8bc7-be40-44f1-ab6b-fce51ae3d395 -> ../../sda1
lrwxrwxrwx 1 root root 10 wrz 24 2007 d153cbbd-bfbe-48e7-a69b-d8dd05b85741 -> ../../sda2
w fstab podajemy
UUID=11a7702f-a82f-4469-9e56-81862b1a8528 w pierwszej kolumnie zamiast urzadzenia.
W parametrach jadra podajemy root=/dev/dysk/by-uuid/11a7702f-a82f-4469-9e56-81862b1a8528 dla danej partycji.
Wady : Chyba jedynie skomplikowane UUID :D
Metoda 4: sciezka do urzadzenia – bardzo indywidualne ustawienie dla systemu. Nie polecam
Analogicznie jak wczesniej, zajrzyjcie do /dev/disk/by-path :
lrwxrwxrwx 1 root root 9 wrz 24 2007 pci-0000:00:06.0-scsi-0:0:0:0 -> ../../sdblrwxrwxrwx 1 root root 10 wrz 24 2007 pci-0000:00:06.0-scsi-0:0:0:0-part1 -> ../../sdb1
lrwxrwxrwx 1 root root 10 wrz 24 2007 pci-0000:00:06.0-scsi-0:0:0:0-part2 -> ../../sdb2
lrwxrwxrwx 1 root root 10 wrz 24 2007 pci-0000:00:06.0-scsi-0:0:0:0-part3 -> ../../sdb3
lrwxrwxrwx 1 root root 10 wrz 24 2007 pci-0000:00:06.0-scsi-0:0:0:0-part5 -> ../../sdb5
lrwxrwxrwx 1 root root 9 wrz 24 2007 pci-0000:00:06.0-scsi-0:0:1:0 -> ../../sr0
lrwxrwxrwx 1 root root 9 wrz 24 2007 pci-0000:00:07.0-scsi-0:0:0:0 -> ../../sda
lrwxrwxrwx 1 root root 10 wrz 24 2007 pci-0000:00:07.0-scsi-0:0:0:0-part1 -> ../../sda1
lrwxrwxrwx 1 root root 10 wrz 24 2007 pci-0000:00:07.0-scsi-0:0:0:0-part2 -> ../../sda2
(...)
Jak widac sciezki do urzadzen sa indywidualne ze wzgledu na polozenie kontrolera na szynie PCI. Dlatego odradzam to rozwiazanie gdy docelowo dysk bedzie pracowac w innym komputerze.
PS. Po zamontowaniu urzadzenia sa widoczne juz „po ludzku” a nie po id/uuid itp.
Moj /etc/fstab :
UUID=4e142825-0f07-4b3b-b8ec-4b90e8e7317e / auto defaults,noatime 0 1UUID=d153cbbd-bfbe-48e7-a69b-d8dd05b85741 none swap sw 0 0
UUID=0b747fd7-f505-4b7b-a915-f939a74bddcd /home auto defaults,noatime 0 0
UUID=928b41c1-48ce-402b-8aa1-a592099dcd58 /mnt/debian auto defaults,noatime 0 0
UUID=b1db8bc7-be40-44f1-ab6b-fce51ae3d395 /mnt/system auto defaults,users,user,noatime 0 0
#na napedy wymienne to nie dziala, niestety, bo mozna do nich wkladac rozne plytki/karty mmc/sd itp
/dev/sdb1 /mnt/usb1 auto defaults,user,users,shortname=winnt 0 0
/dev/sdb /mnt/usb2 auto defaults,user,users,shortname=winnt 0 0
/dev/sr0/mnt/cdromautodefaults,user,users0 0
shm /dev/shm tmpfs nodev,nosuid,noexec 0 0
A po zamontowaniu (wystarczy odpalic mount bez parametrów :
/dev/sda5 on / type auto (rw,noatime)proc on /proc type proc (rw,nosuid,nodev,noexec)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec)
udev on /dev type tmpfs (rw,nosuid)
devpts on /dev/pts type devpts (rw,nosuid,noexec)
/dev/sda6 on /home type reiserfs (rw,noatime)
/dev/sda7 on /mnt/debian type ext3 (rw,noatime)
/dev/sda1 on /mnt/system type ext3 (rw,noexec,nosuid,nodev,noatime)
shm on /dev/shm type tmpfs (rw,noexec,nosuid,nodev)
usbfs on /proc/bus/usb type usbfs (rw,noexec,nosuid,devmode=0664,devgid=85)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev)
PS : Metoda ta dziala gdy kernel posiada initrd (ramdysk startowy) a w nim udev - wiadomo, musza utworzyc sie urzadzenia. Do tego celu swietnie nadaje sie narzedzie mkinitcpio z arch linuksa. Wlasnie przymierzam sie do przetestowania go na gentoo. Musze tez sprawdzic czy przypadkiem gentoo'owy genkernel nie potrafi tego samego.
Wiecej napisze pozniej na ten temat.
21
września
2007
Musze przyznac ze mnie tez to nieco dopadlo. Nie chodzi mi tu o ajax i tego typu pierdoly. Chodzi mi o to ze w epoce tzw web2.0 jest wiele stron ktore nic nie daja od siebie, a czekaja na to az uzytkownicy cos stworza (bo taka jest filozofia), lub powielaja to co jest na innych stronach (bo digg jest modny). Wykluczam z tego strony bedace agregatorami rss, bo tam trudno o oryginalnosc :]
Przyklad? Pierwsza lepsza strona z newsami – przekalkowanie tego co jest na innej stronie + dwa, trzy zdania. Wkurza mnie to, bo „autor” takiego newsa idzie na latwizne. Najbardziej wlazi mi to w oczy na linuxnews.pl, nie bede ukrywac.
Zauwazylem ze sam coraz czesciej tak robie.
Nie podoba mi sie takie cos, bo to jest po prostu robienie na „odwal sie”. Tak wiec przysiadam sie i nastepnym razem postaram napisac sie cos naprawde od siebie, jezeli chodzi o tematy techniczne, dopoki mam szanse sie zrehabilitowac we wlasnych oczach :]
19
września
2007
Z sentymentu wyciagnalem starego philipsa 362. zlom do bólu, ale mozna na nim sie troche pobawic. Ustawilem na dzwiek wiadomosci sms ryk grunt’a z quake1.
wyciecie dzwieku – 5 minut.
MMS – darmowy
Miny ludzi w autobusie/pracy gdy przychodzi sms – bezcenne :D
17
września
2007
Wypuszczenie specyfikacji do kart radeon r500/r600 przez ati zaowocowało pierwszymi wynikami. Powstający sterownik o nazwie radeonHD na razie jest jeszcze w powijakach, ale pracują nad nim tęgie głowy z novellaa (wiem, bleh :D), oraz obecni developerzy x.org rozwiający sterowniki kart ati
sterownik będzie się zwać xf86-video-radeonhd (sugerując się logami z IRC’a developerów ;-) ) i niedługo powinien pojawić się jego kod na gitweb.freedesktop.org do pobrania/przejrzenia. Przed nim jeszcze długa droga i funkcjonalność pozostawia obecnie wiele do życzenia.
13
września
2007
W pracy szef zaproponowal mi przerobienie sie na programiste. Bo podobno z calego pokoju bazodanowcow jestem najbardziej „techniczny”. Stwierdzilem ze sprobuje. Jak nie dam rady to najwyzej poszukam nowej pracy. Ale jak sie ma szanse na cos nowego to trzeba ta szanse wykorzystac. A co.
12
września
2007
ati wypuscilo specyfikacje swoich najnowszych kart. na poczatek poszla seria R630 (najnowsze radeony 2xxx), a w przyszlym tygodniu wychodzi pierwsza wstepna wersja otwartego drivera (bardzo podstawowa), ale poniewaz pisanie sterownika z dokumentacja jest prostsze niz bez niej – szybko stanie sie z niego porzadny driver :]
dla ciekawskich : tutaj można pobrać specyfikacje dla tych kart. kolejne dokumenty sa w drodze.
12
września
2007
...ze robota zajmuje tyle czasu i sil ze nie ma sie ochoty nic na blogu pisac :/
ale moze sie zmusze dzisiaj po pracy.
05
września
2007
Sami zobaczcie :D
Ati zaskoczylo wszystkich, a fanboye nvidii moze w koncu sie zamkna :D Na pewno ucisza sie za miesiac - wtedy fglrx dostanie obsluge aiglx :]
P.s. zapowiadana rewelacja ze strony ati jeszcze czeka na odsłonę :]
edit: wszystko wskazuje na to ze driver bedzie jeszcze dzisiaj.
14 września 2011, 22:19:53 | klucz ssh na gitorious |
Od niedawna przyłapałem się na tym że na gitorious.org przestał działać mój klucz ssh. Próba ponownej instalacji klucza powodowała jego odrzucanie ( " ssh key invalid " ).
Problem polega na tym ze zamiast user@host na końcu klucza trzeba wpisać swój email jaki podaliśmy przy rejestracji w gitorious.org. Być może problem nie dotyczy wszystkich, ale u mnie było to jedyne działające rozwiązanie.
04 lipca 2011, 12:48:34 | Tunelowanie esx po ssh |
Szybka notatka na przyszłość; aby wbić się na serwer ESX za pomocą vSphere poprzez tunel SSH, trzeba przeforwardować porty 443, 902, 903 oraz dodać wpis do hosts postaci
127.0.0.1 esxhost
bez tego nie pójdzie. Posiadanie wpisu określającego 127.0.0.1 jako "localhost" też z jakiegoś powodu nie wystarcza i dostaje się tajemnicze informacje o nieprawidłowym hoście, braku łączności itp.
02 sierpnia 2010, 20:12:02 | [mini] nietypowy problem CUPS |
ERRDOS - ERRbadaccess (Invalid open mode.) opening remote spool Test Page
W takiej sytuacji należy w windows w wlaściwościach drukarki odznaczyć "drukuj bezpośrednio na drukarkę". Dziwne, ale zostawię to sobie tutaj na przyszłość.