[+] Ustawienie kolejno
[+] Ustawienie kolejności montowania usb - usbserial
Jest to mój pierwszy post na forum więc witam wszystkich serdecznie.
Mój problem polega na tym że posiadam podpięte dwie przejściówki usbserial jedna na ftdi druga na pl2303 i podczas startu systemu ich kolejność montowania jest losowa raz ftdi jest na /dev/ttyUSB0, a następnym razem /dev/ttyUSB1. Czy jest jakaś możliwość przypisania konkretnego numeru urządzenia na sztywno dla poszczególnych przejściówek?
Mój problem polega na tym że posiadam podpięte dwie przejściówki usbserial jedna na ftdi druga na pl2303 i podczas startu systemu ich kolejność montowania jest losowa raz ftdi jest na /dev/ttyUSB0, a następnym razem /dev/ttyUSB1. Czy jest jakaś możliwość przypisania konkretnego numeru urządzenia na sztywno dla poszczególnych przejściówek?
Nigdy nie robiłem tego z przejściówkami, ale chyba można by spróbować z edycją pliku
Kod: Zaznacz cały
/etc/fstab
Z kolejnoscia juz sobie poradziłem przy pomocy modprobe
teraz mam inny problem chciałbym aby wynik modprobe był zapisywany w osobnym pliku abym mógł sobie to wywalic na konsole wiec zrobiłem tak
ale niestety nic sie nie zapisuje w /tmp/usb.log
Kod: Zaznacz cały
rmmod -f ftdi_sio.ko
rmmod -f pl2303.ko
modprobe ftdi_sio
modprobe pl2303
Kod: Zaznacz cały
modprobe pl2303 >> /tmp/usb.log
modprobe ftdi >> /tmp/usb.log
Kod: Zaznacz cały
cat /tmp/usb.log |grep -a /dev/ttyUSB0
cat /tmp/usb.log |grep -a /dev/ttyUSB1
Zauważ że modprobe samo z siebie nic nie wyrzuca na STDOUT, bardziej modinfo, bądź lspci -k. Może Nazwy urządzeń przyznaje udev, więc odpowiedzi na swoje pytanie poszukaj w i /etc/udev/rules.d, a najprawdopodobniej w pliku 64-device-mapper.rules.
Kod: Zaznacz cały
dmesg |grep ttyUSB[0-9]
Kod: Zaznacz cały
man udev
Dziekuje za odpowiedz lecz moja wiedza na temat linuxa jest mizerna, wiec co do udev chwilowo dam sobie spokój. Wiem ze mój sposób na kolejnosc jest mało "elegancki" ale jak na razie skuteczny.lis6502 pisze:Zauważ że modprobe samo z siebie nic nie wyrzuca na STDOUT, bardziej modinfo, bądź lspci -k. MożeNazwy urządzeń przyznaje udev, więc odpowiedzi na swoje pytanie poszukaj wKod: Zaznacz cały
dmesg |grep ttyUSB[0-9]
i /etc/udev/rules.d, a najprawdopodobniej w pliku 64-device-mapper.rules.Kod: Zaznacz cały
man udev
Co do
Kod: Zaznacz cały
dmesg |grep ttyUSB[0-9]
Gdzies doczytałem w manualu modprobe
utworzyłem taki katalog ale efekt taki sam zero zapisu :-(Jeśli istnieje katalog /var/log/ksymoops, a modprobe zostanie
uruchomiany z opcją powodującą załadowanie lub usunięcie modułu,
modprobe zaloguje swoje polecenie i kod powrotu w
/var/log/ksymoops/`date +%Y%m%d.log`.
Skoro udev odpada, a Ciebie interesują ostatnie wpisy w dmesg, skorzystaj z takiej konstrukcji tail wyświeli Ci dziesięć ostatnich linii od końca.
Kod: Zaznacz cały
dmesg |tail -n 10|grep ttyUSB[0-9]
czyli nic, co Ciebie interesuje.modprobe zaloguje swoje polecenie i kod powrotu
Dziękuję właśnie o to mi chodziło.
Zrobiłem tak aby tą informację dostać na gg:
Końcowy efekt na gg:
Jeszcze raz dziękuję.
Pozdrawiam.
[Dodano: 2009-05-04, 19:39 ]
Witam ponownie
Niestety moja radość nie trwała długo przelotki dalej ładują się losowo czy lis6502 mógłby mi podpowiedzieć jak ugryźć udev.
To co mam w katalogu /etc/udev/rules.d:
Jak to dokładnie ustawić?
Zrobiłem tak aby tą informację dostać na gg:
Kod: Zaznacz cały
#!/bin/sh
ftdi=`dmesg |tail -n 10|grep ttyUSB[0-9] |awk '/FTDI USB/ {print$12}'`
pl2303=`dmesg |tail -n 10|grep ttyUSB[0-9] |awk '/pl2303/ {print$9}'`
echo "Zatrzymuje moduly USB>COM"
rmmod -f ftdi_sio.ko
echo "FTDI stop"
rmmod -f pl2303.ko
echo "PL2303 stop"
echo "Laduje moduly USB>COM"
modprobe ftdi_sio
echo "FTDI start"
modprobe pl2303
echo "PL2303 start"
echo "FTDI- na porcie:"
dmesg |tail -n 10|grep ttyUSB[0-9] |awk '/FTDI USB/ {print$12}'
echo "PL2303- na porcie:"
dmesg |tail -n 10|grep ttyUSB[0-9] |awk '/pl2303/ {print$9}'
echo "Wysylam info do gg"
/usr/bin/ekg msg globus "FTDI- na porcie-0: $ftdi PL2303- na porcie-1:$pl2303"
Kod: Zaznacz cały
FTDI- na porcie-0: ttyUSB0
PL2303- na porcie-1:ttyUSB1
Pozdrawiam.
[Dodano: 2009-05-04, 19:39 ]
Witam ponownie
Niestety moja radość nie trwała długo przelotki dalej ładują się losowo czy lis6502 mógłby mi podpowiedzieć jak ugryźć udev.
To co mam w katalogu /etc/udev/rules.d:
Kod: Zaznacz cały
024_hpmud.rules 65-dmsetup.rules
05-options.rules 65-id-type.rules
20-names.rules 70-persistent-cd.rules
30-cdrom_id.rules 70-persistent-net.rules
40-basic-permissions.rules 75-cd-aliases-generator.rules
40-permissions.rules 75-persistent-net-generator.rules
45-fuse.rules 80-programs.rules
45-hplip.rules 85-hdparm.rules
55-hpmud.rules 85-hwclock.rules
60-persistent-input.rules 85-ifupdown.rules
60-persistent-storage.rules 90-hal.rules
60-persistent-storage-tape.rules 90-modprobe.rules
60-symlinks.rules 95-udev-late.rules
61-persistent-storage-edd.rules
Pisanie regułek udev'a wcale nie jest takie trudne jakby mogło się wydawać. Spójrz tutaj. Przykład z drukarką chyba najbardziej odpowiada Twojej sytuacji. W moim udev'ie (wersja 141) polecenia udevinfo nie ma i zostało zastąpione przez udevadm info (dalej składnia niezmieniona. Uzbrojony w te informacje powinieneś sobie poradzić.