PDA

Bekijk de volledige versie : USB-seriel Adapter feste tty zuweisen



Smuggler
10-06-2012, 14:03
Hi,

ich habe ein kleines Problem. Ich betreibe an einem WL500w einen USB-seriell Adapter. Normalerweise wird dieser als ttyUSB3 erkannt.
Aus unerfindlichen Gründen (bis jetzt) geht irgendwann was schief

#dmesg Auszug:

usb 1-2.2: clear tt 1 (9063) error -71
usb 1-2.2: USB disconnect, address 5
usb 1-2.2.2: pl2303_write_bulk_callback - failed resubmitting write urb, error -19
pl2303 ttyUSB3: pl2303_send - failed submitting write urb, error -19
usb 1-2.2.2: pl2303_read_int_callback - usb_submit_urb failed with result -19
usb 1-2.2.2: USB disconnect, address 6
usb 1-2.2.2: pl2303_read_bulk_callback - failed resubmitting read urb, error -19
usb 1-2.2: clear tt 1 (1062) error -71
usb 1-2.2: clear tt 1 (9063) error -19
usb 1-2.2: clear tt 1 (1062) error -19
usb 1-2.2: clear tt 1 (9063) error -19
usb 1-2.2: clear tt 1 (1062) error -19
usb 1-2.2: clear tt 1 (9063) error -19
usb 1-2.2: clear tt 1 (1062) error -19
usb 1-2.2: clear tt 1 (9063) error -19
pl2303 ttyUSB3: pl2303 converter now disconnected from ttyUSB3

und im Anschluss als ttyUSB4 neu eingebunden.


So die Software die üer den Adapter was auslesen will greift natürlich ins leere.

Wie kann ich dem Adapter wenn er sozusagen wir via Hot-plug erkannt und eingebunden wird fest ttyUSB3 zuweisen?
Wenn das geht ;)

Grüße Smuggler

newbiefan
10-06-2012, 19:50
Vielleicht hilft dir das: http://www.ip-phone-forum.de/showthread.php?t=221189
Symbolische Links helfen oft.....

Nur den Befehl "listusb" gibt es nicht, der heisst nach erfolgter Installation von den usbutils: lsusb

Ich habe keine Ahnung wie man deinen USB-seriellen Adapter konfiguriert. Eventuell (fast sicher) kann man etwas einstellen, denn er greift ja auch auf ttyUSB3 zu - das steht sicher irgend wo....

In der Regel sollte das System aber immer gleich booten. Lediglich wenn man die Geräte anders ansteckt, oder andere Geräte vorher angesteckt hat, kann sich die Reihenfolge ändern.

Edit: schaue dir die Ausgabe von

mdev --help
genauer an - damit kannst du dein Problem lösen.
Du musst die /etc/mdev.conf anpassen.
Wie man diese im Flash speichern kann, sollte bekannt sein.
Hier findest du eine gute Beschreibung: http://wildanm.wordpress.com/2007/08/21/mdev-mini-udev-in-busybox/

Zum besseren Verständnis sehe dir auch die Datei/Script /linuxrc an.
In Hotplug und hotplug2 sollte man sich auch etwas einlesen.

LG

Smuggler
11-06-2012, 06:55
Den Thread im iphone Forum hatte ich bereits gelesen. Das Problem war/ist ja nicht das der Adapter beim booten unterschiedlichen tty Port bekommt sondern im Betrieb sich erhängt und dann einen anderen Port erhält.

Sobald ich deinen Vorschlag mal ausprobiert hab, meld ich mich wieder. Danke.

Smuggler

Edit:

Hab noch was passendes gefunden was evtl auch helfen könnte. Evtl. hängen damit die abstürze des Adapters zusammen.

http://www.nslu2-linux.org/wiki/Peripherals/USB2Serial#pl2303

Smuggler
13-06-2012, 09:32
Hi,

also das zuweisen des Adapter auf einen bestimmten Port habe ich scheinbar gelöst.
Bin folgendermaßen vorgegangen:

mdev.conf folgendes hinzugefügt
# mdev configuration
..
ttyUSB[0-9]* 0:0 666 @/opt/etc/init.d/rc.usbdev

dadurch wird beim erkennen eines ttyUSB Device das skript rc.usbdev aufgerufen.
Mit folgendem Inhalt

#! /bin/sh

# Link erstellen
USBNR=$(grep 2303 /proc/tty/driver/usbserial | cut -d ":" -f1)
ln -s /dev/ttyUSB$USBNR /dev/ttyUSB7

chmod +x nicht vergessen

damit wird der USB-seriell Adpater mit pl2303 Chipsatz gesucht und für diesen dann ein link auf ttyUSB7 angelegt.
Dieser Link bleibt beim abziehen des Adapter allerdings noch bestehen, stört mich aber nicht.
Damit die mdev.conf auch gesichert wird und im flash liegt ein

echo "/etc/mdev.conf" >> /usr/local/.files

flashfs save && flashfs commit && flashfs enable && reboot

funktioniert.

Die Geschichte

Hab noch was passendes gefunden was evtl auch helfen könnte. Evtl. hängen damit die abstürze des Adapters zusammen.

http://www.nslu2-linux.org/wiki/Peri...2Serial#pl2303

hab ich nocht nicht gemacht da ich die pl2303.(k)o noch nicht gefunden habe um sie zu ersetzen.

Grüße Smuggler