Re: Jak změnit jméno zařízení USB v /dev?
Vlastimil Páviček
vlastimil.pavicek na centrum.cz
Pátek Duben 11 11:44:58 CEST 2014
Dobrý den,
žádané symlinky by měly jít vytvořit na základě toho, kam ukazuje "/sys/class/tty/ttyUSB[01]".
Je to silně závislé na Vašem HW, ale mohlo by to fungovat.
Něco ve stylu:
case `readlink /sys/class/tty/ttyUSB0` in
"../../devices/pci0000:00/0000:00:1d.0/usb6/6-1/6-1:1.0/ttyUSB0/tty/ttyUSB0")
ln -s /dev/ttyUSB0 /dev/ttyS4
;;
"../../devices/pci0000:00/0000:00:1d.0/usb6/6-2/6-2:1.0/ttyUSB0/tty/ttyUSB0")
ln -s /dev/ttyUSB0 /dev/ttyS5
;;
*)
failed()
;;
esac
+ analogicky pro ttyUSB1
Případně se chytat pouze na číslo portu z téhož zdroje.
Hodně štěstí
HAllellujAH
VLP
______________________________________________________________
> Od: "d.petr" <d.petr na post.cz>
> Komu: Diskuse o Linuxu v cestine <linux na linux.cz>
> Datum: 10.04.2014 16:07
> Předmět: Re: Jak změnit jméno zařízení USB v /dev?
>
>iSerialNumber nepoužívají, rozlišit se nedají. Ale o to mi ani nejde,
>držel bych se konektoru (portu), kam byla ta zařízení připojena.
>
> Asi jsem se nevyjádřil pořádně, tak tedy dodávám: Mám program
>(programy) komunikující po ttyS0, ttyS1, ... Je lákavé tyto pevné porty
>doplnit převodníky USB/seriova_linka a k nim vytvořit trvalé symlinky
>ttyS4->ttyUSB0, ttyS5->ttyUSB1 atd. Starý program pak může pracovat s
>USBčkovými převodníky beze změny (ví se, jak jsou defaultně očíslovány
>USBporty, takže je i jasné, kde je např. ttyS7). Je to pěkně srovnané,
>přehledné, standardní - paráda. Potíž ale nastává ve chvíli, kdy
>převodníky USB začnou odpadávat a znovu se připojovat, pak se jejich
>soubory v /dev přejmenují a všechno je špatně. Proto bych rád dopsal
>funkci, která by se aktivovala v případě, že odpadne převodník, občas by
>koukla na seznam zařízení USB a kdyby ho (něco) našla na původním portu
>USB, zjistila by, jaký tomu teď odpovídá soubor a přejmenovala ten
>soubor na původní název.
>
> No, vypadá to, že moji původní myšlenku uskutečnit nejde. Tak to budu
>muset zkusit nějak jinak, složitěji, ošklivěji. Asi zkusím nějak
>upravovat ty symlinky ttySx->ttyUSBy.
>
>PM
>
>
>
>Artur Kudělka wrote:
>> Dobrý den,
>> teoreticky by se měla dát zařízení rozlišit pomocí iSerialNumber, ale
>> záleží zda jej používají - není povinné (viz) :
>>
>> http://www.beyondlogic.org/usbnutshell/usb5.shtml
>>
>>
>> Zdraví
>> Artur Kudelka
>>
>>
>> Dne 10. dubna 2014 12:52 d.petr<d.petr na post.cz> napsal(a):
>>
>>> Adam Pribyl wrote:
>>>
>>>> On Thu, 10 Apr 2014, d.petr wrote:
>>>>
>>>> Dobrý den.
>>>>> Mám více stejných periférií USB. Při startu systému jsou pojmenovány
>>>>> způsobem xUSB0, xUSB1, xUSB2 atd. (konkrétně ttyUSB0, ...). Když se
>>>>> např. xUSB1 a xUSB2 za běhu odpojí a znovu připojí, ale v opačném
>>>>> pořadí (i když do původních konektorů USB), dostanou ta zařízení
>>>>> prohozená jména v /dev. A já potřebuji svým c-čkovým programem ta
>>>>> jména vrátit do původního stavu. Má někdo myšlenku, kudy na to? Nějak
>>>>> se mi nedaří najít žádnou radu.
>>>>>
>>>>> Doplňkové informace: Nemám udev, hal&spol. Systém pracuje
>>>>>
>>>>
>>>> Pokud nemate udev, pomoci ktereho lze vytvorit presistentni nazvy na
>>>> zaklade serioveho cisla
>>>> http://hintshop.ludvig.co.nz/show/persistent-names-usb-serial-devices/
>>>>
>>>> pak vam nezbyva nez to same delat "rucne" ve vasi aplikaci.
>>>>
>>>> PM
>>>>>
>>>>
>>>> Adam Pribyl
>>>>
>>>
>>>
>>> Ano, toto (ručně ve své aplikaci) bych právě moc rád učinil. Jenže nemůžu
>>> přijít na to, jak. Když se třeba odpojí xUSB1 a xUSB2 a pak se připojí jen
>>> xUSB2, dostane "špatný" název xUSB1. A já bych ho rád změnil na správný
>>> xUSB2. Jenže jak? Nebo to vůbec nejde a musím vytvářet nějaké jinak nazvané
>>> symlinky a při startu svého programu je smazat a testovat, které soubory
>>> /dev/xUSBx zrovna existují a do kterého z nich je které zařízení zrovna
>>> připojeno a zas všechny symlinky vytvořit?
>>>
>>> PM
>>> _______________________________________________
>>> Linux mailing list
>>> Linux na linux.cz
>>> http://www.linux.cz/mailman/listinfo/linux
>>>
>> _______________________________________________
>> Linux mailing list
>> Linux na linux.cz
>> http://www.linux.cz/mailman/listinfo/linux
>
>_______________________________________________
>Linux mailing list
>Linux na linux.cz
>http://www.linux.cz/mailman/listinfo/linux
>
Další informace o konferenci Linux