Pojmenování zařízení v /dev/

jfila

Pojmenování zařízení v /dev/
« kdy: 19. 04. 2012, 15:02:11 »
Je možné v Linuxu docílit, aby se zařízení přihlásilo například jako /dev/sdc či /dev/lp0? Obdobně je jako FLASH disk pod Windows vždy J:. Jedná se o problém s routerem, který funguje zároveň jako print server, jsou k němu připojeny dvě tiskárny. Pokud se zapne nejprve jedna je namapována jako /dev/lp0 po zapnutí druhé je tato namapována na /dev/lp1. Pomocí p910nd tiskárny sdílím (každá na jiném portu). Při opačném sledu zapínání bude první na /dev/lp1 čímž vznikne problém s ovladači. Dříve jsem měl napsán skript, který kontroloval PID a VID tiskárny a potom nastartoval p910, k tomuto bylo nutné používat usbutils a při každém připojení toto zopakovat, není možné to udělat jinak a lépe?


poustevnik

Re:Pojmenování zařízení v /dev/
« Odpověď #1 kdy: 19. 04. 2012, 15:42:27 »
nestačil by nějaký symbolický link?

jfila

Re:Pojmenování zařízení v /dev/
« Odpověď #2 kdy: 19. 04. 2012, 15:50:34 »
Nojo ale jak udělat simlink na tiskárnu podle PID & VID?

smoofy

  • *****
  • 1 056
    • Zobrazit profil
    • E-mail
Re:Pojmenování zařízení v /dev/
« Odpověď #3 kdy: 19. 04. 2012, 16:12:19 »
Co takhle treba vytvorit udev pravidlo pro to zarizeni?

#

Re:Pojmenování zařízení v /dev/
« Odpověď #4 kdy: 19. 04. 2012, 16:12:29 »
udev rules?



jfila

Re:Pojmenování zařízení v /dev/
« Odpověď #6 kdy: 19. 04. 2012, 18:25:26 »
Všem děkuji za rady. Postupoval jsem tedy takto:
Pomocí příkazu
Kód: [Vybrat]
udevadm info -a -p $(udevadm info -q path -n /dev/lp1)jsem si nechal zobrazit všechny parametry, zvolil jsem položku ATTRS{product}=="Samsung ML-1520 Series"
do souboru /etc/udev/rules.d/10-local.rules jsem zapsal toto:
Kód: [Vybrat]
ATTRS{product}=="Samsung ML-1520 Series", SYMLINK+="ML-1520"
ATTRS{product}=="CLP-320 Series", SYMLINK+="CLP-320"
Dále bylo nutné pravidla znovu načíst.
Kód: [Vybrat]
udevadm control --reload-rules
Pro udev, bylo nutné ještě startovat démona, například takto (/etc/init.d/udevd):
Kód: [Vybrat]
#!/bin/sh /etc/rc.common
START=03
start () {
   udevd --daemon
}
stop() {
   killall -9 udevd
}
A nakonec přiřadit práva a povolit spouštění.