Hallo alle zusammen,
ich habe das Problem, dass das Programm Rocrail oft keinen Zugriff auf die Digitalzentrale bekommt und beim Verbindungsversuch
***READ TIMEOUT*** size=2 rc=0 read=0 errno=0 tries=100
ausgibt. Im Forum zu dem Programm konnte man mir noch nicht weiterhelfen, weil dies scheinbar ein Problem mit Zugriffsrechten bei Linux zu tun hat.
Die Zentrale, welche ich anschließe, hat einen USB-Anschluss. Als Schnittstelle wird im Programm /dev/ttyUSB0 angegeben. Wenn das Gerät angeschlossen ist und ich lsusb in der Konsole eingebe, kommt diese Meldung:
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 004 Device 002: ID 046d:c52f Logitech, Inc. Wireless Mouse M305 Bus 001 Device 004: ID 12d1:1003 Huawei Technologies Co., Ltd. E220 HSDPA Modem / E230/E270 HSDPA/HSUPA Modem Bus 003 Device 004: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
Das FT232 USB-Serial-Gerät ist das, mit dem ich das Programm verbinden möchte.
In der Anleitung von Rocrail steht geschrieben, dass man eine Datei Namens 10-liusb.rules im Ordner /etc/udev/rules.d/ mit folgendem Inhalt, ohne Zeilenumbrüche, erstellen soll.
SYSFS{idVendor}==“1111”, SYSFS{idProduct}==“1234”, RUN+=”/sbin/modprobe -q ftdi_sio vendor=0×1111 product=0×1234”
Damit hat die Verbindung ein einziges Mal geklappt und dann nie wieder. Mir wurde dann empfohlen, dass ich in die Datei diese Befehlszeile eintragen soll:
BUS=="usb", SYSFS{idVendor}=="0403",SYSFS{idProduct}=="6001",RUN+="/sbin/modprobe -q ftdi_sio vendor=0×0403 product=0×6001", SYMLINK+="FTDI"
Dabei hat sich eine Datei/Verknüpfung /dev/FTDI erstellt. Damit ging die Verbindung zwar öfter, aber irgendwie auch nicht richtig. Es ist jedenfalls ganz eigenartig, einmal muss ich neu starten und die Zentrale am PC haben dann klappt es, beim nächsten mal geht es nur, wenn sie angeschlossen wird, wenn das OS hochgefahren ist, dann geht sie nur, wenn ich die Logs des Programms lösche. Es kommt auch vor, dass die eben aufgezählten Versuche die Verbindung herszustellen nicht funktionieren. Ein Kuriosum ist auch, dass die stehende Verbindung beim Einschalten des "Bildschirmschoners" die Verbindung zusammenbricht und sich nicht wieder herstellen läßt. Ich habe eine Passwortabfrage beim Zurückkehren jedenfalls deaktiviert.
Eine Idee war gewesen, dass ich keine Dialout-Rechte habe. Ich hatte dann mit dem Befehl id folgende Meldung bekommen:
uid=1000(torsten) gid=1000(torsten) Gruppen=1000(torsten),4(adm),20(dialout),24(cdrom),46(plugdev),115(lpadmin),117(admin),122(sambashare)
Zur Sicherheit, dass die Dialoutrechte für den Benutzer gültig sind habe ich sudo adduser torsten dialout eingegeben und diese Meldung bekommen:
Der Benutzer »torsten« ist bereits ein Mitglied der Gruppe »dialout«.
Nun kommen Sachen, welche ich nicht ganz verstehe und euch vielleicht hilfreich sein könnten. Wenn ich ls -ltr /dev in der Konsole eingebe, kommt folgende Meldung:
crw-rw---- 1 root dialout 188, 0 2012-02-27 13:53 ttyUSB0 drwxr-xr-x 4 root root 80 2012-02-27 13:53 serial crw-rw-rw- 1 root tty 5, 2 2012-02-27 13:53 ptmx
Bei lsusb -v -d 0403: kommt dies:
Bus 004 Device 002: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC libusb couldn't open USB device /dev/bus/usb/004/002: Permission denied. libusb requires write access to USB device nodes. Couldn't open device, some information will be missing Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 1.10 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 8 idVendor 0x0403 Future Technology Devices International, Ltd idProduct 0x6001 FT232 USB-Serial (UART) IC bcdDevice 4.00 iManufacturer 1 iProduct 2 iSerial 0 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 32 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xc0 Self Powered MaxPower 90mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 255 Vendor Specific Subclass bInterfaceProtocol 255 Vendor Specific Protocol iInterface 2 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x02 EP 2 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 0
Mache ich etwas falsch beim Anschließen oder wo könnte das Problem liegen?
Vielen Dank für eure Hilfe im Voraus!
Viele Grüße Torsten