USB-Seriell Konverter funktioniert nicht?!
Hallo Liste! Ich habe hier einen Konverter, der über USB angeschlossen wird und eine serielle Schnittstelle bereitstellt. Leider funktioniert keinerlei Kommunikation mit einem an den Konverter angeschlossenen Modem. Hersteller des Konverters laut lsusb: Bus 005 Device 002: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter System hier: openSuSE 11.4 mit Kernel 2.6.37.6-0.5-desktop Eigentlich sollte das Ding unter Linux mit dem CH341 Modul laufen. Tut es soweit auch, wie dmesg beweist: [13769.027247] usb 5-1: new full speed USB device using uhci_hcd and address 2 [13769.179357] usb 5-1: New USB device found, idVendor=1a86, idProduct=7523 [13769.179369] usb 5-1: New USB device strings: Mfr=0, Product=2, SerialNumber=0 [13769.179377] usb 5-1: Product: USB2.0-Serial [13769.447999] usbcore: registered new interface driver usbserial [13769.449381] USB Serial support registered for generic [13769.449440] usbcore: registered new interface driver usbserial_generic [13769.449443] usbserial: USB Serial Driver core [13769.498100] USB Serial support registered for ch341-uart [13769.498154] ch341 5-1:1.0: ch341-uart converter detected [13769.511513] usb 5-1: ch341-uart converter now attached to ttyUSB0 [13769.511559] usbcore: registered new interface driver ch341 Versuche ich nun über das ttyUSB0 Device per minicom mit dem Modem zu kommunizieren, bekomme ich keinerlei Antworten vom Modem. Ich schicke also z.B. ein ATI5 an das Modem, dann blinkt sogar die Receive-Data LED am Modem kurz auf. Es erscheint aber keinerlei Antwort des Modems unter minicom. Verschiedene Schnittstellengeschwindigkeiten habe ich schon probiert, ebenso Hardware- und Software-Flowcontrol - alles ohne Erfolg. Hat von Euch jemand eine Idee, woran das liegen könnte? Wäre für jeden Tipp dankbar! Hier noch ein paar Zeilen Log, wenn ich das CH341 Modul mit der debug Option starte: Jun 29 14:05:52 notebook kernel: [14202.378444] /usr/src/packages/BUILD/kernel-desktop-2.6.37.6/linux-2.6.37/drivers/usb/serial/ch341.c: ch341_open() Jun 29 14:05:52 notebook kernel: [14202.378450] /usr/src/packages/BUILD/kernel-desktop-2.6.37.6/linux-2.6.37/drivers/usb/serial/ch341.c: ch341_configure() Jun 29 14:05:52 notebook kernel: [14202.378457] /usr/src/packages/BUILD/kernel-desktop-2.6.37.6/linux-2.6.37/drivers/usb/serial/ch341.c: ch341_control_in(c0,5f,0000,0000,f6e6a280,8) Jun 29 14:05:52 notebook kernel: [14202.379785] /usr/src/packages/BUILD/kernel-desktop-2.6.37.6/linux-2.6.37/drivers/usb/serial/ch341.c: ch341_control_out(40,a1,0000,0000) Jun 29 14:05:52 notebook kernel: [14202.380741] /usr/src/packages/BUILD/kernel-desktop-2.6.37.6/linux-2.6.37/drivers/usb/serial/ch341.c: ch341_set_baudrate(9600) Jun 29 14:05:52 notebook kernel: [14202.380752] /usr/src/packages/BUILD/kernel-desktop-2.6.37.6/linux-2.6.37/drivers/usb/serial/ch341.c: ch341_control_out(40,9a,1312,b202) Jun 29 14:05:52 notebook kernel: [14202.381727] /usr/src/packages/BUILD/kernel-desktop-2.6.37.6/linux-2.6.37/drivers/usb/serial/ch341.c: ch341_control_out(40,9a,0f2c,000c) Jun 29 14:05:52 notebook kernel: [14202.382765] /usr/src/packages/BUILD/kernel-desktop-2.6.37.6/linux-2.6.37/drivers/usb/serial/ch341.c: ch341_control_in(c0,95,2518,0000,f6e6a280,8) Jun 29 14:05:52 notebook kernel: [14202.383747] /usr/src/packages/BUILD/kernel-desktop-2.6.37.6/linux-2.6.37/drivers/usb/serial/ch341.c: ch341_control_out(40,9a,2518,0050) Jun 29 14:05:52 notebook kernel: [14202.384764] /usr/src/packages/BUILD/kernel-desktop-2.6.37.6/linux-2.6.37/drivers/usb/serial/ch341.c: ch341_get_status() Jun 29 14:05:52 notebook kernel: [14202.384776] /usr/src/packages/BUILD/kernel-desktop-2.6.37.6/linux-2.6.37/drivers/usb/serial/ch341.c: ch341_control_in(c0,95,0706,0000,f6e6ab80,8) Jun 29 14:05:52 notebook kernel: [14202.385752] /usr/src/packages/BUILD/kernel-desktop-2.6.37.6/linux-2.6.37/drivers/usb/serial/ch341.c: ch341_control_out(40,a1,501f,d90a) Jun 29 14:05:52 notebook kernel: [14202.386774] /usr/src/packages/BUILD/kernel-desktop-2.6.37.6/linux-2.6.37/drivers/usb/serial/ch341.c: ch341_set_baudrate(9600) Jun 29 14:05:52 notebook kernel: [14202.386784] /usr/src/packages/BUILD/kernel-desktop-2.6.37.6/linux-2.6.37/drivers/usb/serial/ch341.c: ch341_control_out(40,9a,1312,b202) Jun 29 14:05:52 notebook kernel: [14202.387721] /usr/src/packages/BUILD/kernel-desktop-2.6.37.6/linux-2.6.37/drivers/usb/serial/ch341.c: ch341_control_out(40,9a,0f2c,000c) Jun 29 14:05:52 notebook kernel: [14202.388764] /usr/src/packages/BUILD/kernel-desktop-2.6.37.6/linux-2.6.37/drivers/usb/serial/ch341.c: ch341_set_handshake(0x60) Jun 29 14:05:52 notebook kernel: [14202.388774] /usr/src/packages/BUILD/kernel-desktop-2.6.37.6/linux-2.6.37/drivers/usb/serial/ch341.c: ch341_control_out(40,a4,ff9f,0000) Jun 29 14:05:52 notebook kernel: [14202.389754] /usr/src/packages/BUILD/kernel-desktop-2.6.37.6/linux-2.6.37/drivers/usb/serial/ch341.c: ch341_get_status() Jun 29 14:05:52 notebook kernel: [14202.389766] /usr/src/packages/BUILD/kernel-desktop-2.6.37.6/linux-2.6.37/drivers/usb/serial/ch341.c: ch341_control_in(c0,95,0706,0000,f6e6ab80,8) Jun 29 14:05:52 notebook kernel: [14202.390746] /usr/src/packages/BUILD/kernel-desktop-2.6.37.6/linux-2.6.37/drivers/usb/serial/ch341.c: ch341_set_handshake(0x60) Jun 29 14:05:52 notebook kernel: [14202.390757] /usr/src/packages/BUILD/kernel-desktop-2.6.37.6/linux-2.6.37/drivers/usb/serial/ch341.c: ch341_control_out(40,a4,ff9f,0000) Jun 29 14:05:52 notebook kernel: [14202.391769] /usr/src/packages/BUILD/kernel-desktop-2.6.37.6/linux-2.6.37/drivers/usb/serial/ch341.c: ch341_set_baudrate(9600) Jun 29 14:05:52 notebook kernel: [14202.391780] /usr/src/packages/BUILD/kernel-desktop-2.6.37.6/linux-2.6.37/drivers/usb/serial/ch341.c: ch341_control_out(40,9a,1312,b202) Jun 29 14:05:52 notebook kernel: [14202.392762] /usr/src/packages/BUILD/kernel-desktop-2.6.37.6/linux-2.6.37/drivers/usb/serial/ch341.c: ch341_control_out(40,9a,0f2c,000c) Jun 29 14:05:52 notebook kernel: [14202.393746] /usr/src/packages/BUILD/kernel-desktop-2.6.37.6/linux-2.6.37/drivers/usb/serial/ch341.c: ch341_open - submitting interrupt urb Jun 29 14:05:52 notebook kernel: [14202.393767] /usr/src/packages/BUILD/kernel-desktop-2.6.37.6/linux-2.6.37/drivers/usb/serial/ch341.c: ch341_dtr_rts - port 0 Jun 29 14:05:52 notebook kernel: [14202.393776] /usr/src/packages/BUILD/kernel-desktop-2.6.37.6/linux-2.6.37/drivers/usb/serial/ch341.c: ch341_set_handshake(0x60) Jun 29 14:05:52 notebook kernel: [14202.393785] /usr/src/packages/BUILD/kernel-desktop-2.6.37.6/linux-2.6.37/drivers/usb/serial/ch341.c: ch341_control_out(40,a4,ff9f,0000) Jun 29 14:05:52 notebook kernel: [14202.394704] /usr/src/packages/BUILD/kernel-desktop-2.6.37.6/linux-2.6.37/drivers/usb/serial/ch341.c: ch341_read_int_callback (0) Jun 29 14:05:52 notebook kernel: [14202.394716] ch341-uart ttyUSB0: ch341_read_int_callback - length = 4, data = 08 fe f0 ee Jun 29 14:05:52 notebook kernel: [14202.394843] /usr/src/packages/BUILD/kernel-desktop-2.6.37.6/linux-2.6.37/drivers/usb/serial/ch341.c: ch341_ioctl (0) cmd = 0x5401 Jun 29 14:05:52 notebook kernel: [14202.394852] /usr/src/packages/BUILD/kernel-desktop-2.6.37.6/linux-2.6.37/drivers/usb/serial/ch341.c: ch341_ioctl not supported = 0x5401 Jun 29 14:05:52 notebook kernel: [14202.394867] /usr/src/packages/BUILD/kernel-desktop-2.6.37.6/linux-2.6.37/drivers/usb/serial/ch341.c: ch341_tiocmget (0) Jun 29 14:05:52 notebook kernel: [14202.394876] /usr/src/packages/BUILD/kernel-desktop-2.6.37.6/linux-2.6.37/drivers/usb/serial/ch341.c: ch341_tiocmget - result = 1e6 Jun 29 14:05:52 notebook kernel: [14202.394886] /usr/src/packages/BUILD/kernel-desktop-2.6.37.6/linux-2.6.37/drivers/usb/serial/ch341.c: ch341_ioctl (0) cmd = 0x5401 Jun 29 14:05:52 notebook kernel: [14202.394894] /usr/src/packages/BUILD/kernel-desktop-2.6.37.6/linux-2.6.37/drivers/usb/serial/ch341.c: ch341_ioctl not supported = 0x5401 Jun 29 14:05:52 notebook kernel: [14202.394910] /usr/src/packages/BUILD/kernel-desktop-2.6.37.6/linux-2.6.37/drivers/usb/serial/ch341.c: ch341_ioctl (0) cmd = 0x5402 Jun 29 14:05:52 notebook kernel: [14202.394918] /usr/src/packages/BUILD/kernel-desktop-2.6.37.6/linux-2.6.37/drivers/usb/serial/ch341.c: ch341_ioctl not supported = 0x5402 Jun 29 14:05:52 notebook kernel: [14202.394929] /usr/src/packages/BUILD/kernel-desktop-2.6.37.6/linux-2.6.37/drivers/usb/serial/ch341.c: ch341_set_termios() Vor allem diese "ch341_ioctl not supported" Meldungen kommen mir sehr komisch vor! Was läuft da schief? Schönen Dank im voraus! Tobias -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Mittwoch, 29. Juni 2011 schrieb Tobias Reichl:
Hallo Liste!
Ich habe hier einen Konverter, der über USB angeschlossen wird und eine serielle Schnittstelle bereitstellt. Leider funktioniert keinerlei Kommunikation mit einem an den Konverter angeschlossenen Modem.
(...) Nicht das ich helfen könnte, aber bei mir lag es seinerzeit an einem zu langen/schlechten Kabel. Nachdem ich mich mit den NB direkt neben den Switch gehockt hatte, lief's prächtig. (Vorher mit 'ner echten seriellen Schnittstelle gings es auch mit dem langen Kabel.) Btw: Können die USB/seriell-Konverter tatsächlich +/- 12V rausschmeissen? Geht so etwas ohne Trafo? Was für Krabbeltierchen brauchts dafür? Bernd, dem Elektronik manchmal etwas suspekt ist, und der keine Lust hat nachzumessen ... -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hi Bernd!
Nicht das ich helfen könnte, aber bei mir lag es seinerzeit an einem zu langen/schlechten Kabel.
Danke für den Tipp, auf so eine Fehlerursache muss man auch erst mal kommen! Ich hatte den Konverter aber direkt am seriellen Port des Modems angeschlossen, also können Kabel nicht dafür verantwortlich sein.
Btw: Können die USB/seriell-Konverter tatsächlich +/- 12V rausschmeissen? Geht so etwas ohne Trafo? Was für Krabbeltierchen brauchts dafür?
Gute Frage eigentlich. _Wie_ die Dinger funktionieren weiß ich auch nicht. Mir würde für den Anfang auch genügen, _dass_ sie funktionieren! :) Tobias -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo Bernd und Tobias, On Wednesday, 29.June.2011 16:08:32 Bernd Nachtigall wrote:
Nicht das ich helfen könnte, aber bei mir lag es seinerzeit an einem zu langen/schlechten Kabel.
Die USB-RS232C-Konverter haben meist eine schlechtere Treiberleistung als die eingebauten RS232C-Transceiver eines guten alten PC. Schon bei 115200 ist nach wenigen zig Zentimetern schon Schluss. Die Qualitaet des RS232C-Kabels hat hier einen grossen Einfluss, mit besseren Schnuersenkeln produziert man nur Fehler und viel Aerger. Schon bei 19200 und laengeren Strecken kann man das deutlich merken, gute Kabel locker zig Meter, schlechte nicht mal vier oder fuenf.
Btw: Können die USB/seriell-Konverter tatsächlich +/- 12V rausschmeissen? Geht so etwas ohne Trafo? Was für Krabbeltierchen brauchts dafür?
Nennt sich Spannungspumpe. Die zappeln etwas mit einer Art Doppelbruecke an ein paar Kondensatoren herum. Im Prinzip erst parallel aufladen, dann schnell hintereinanderschalten und die Summe der Spannungen abgreifen. Siehe z.B. den Maxim MAX232. Roman -- Roman Fietze Telemotive AG Buero Muehlhausen Breitwiesen 73347 Muehlhausen Tel.: +49(0)7335/18493-45 http://www.telemotive.de -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Donnerstag, 30. Juni 2011 schrieb Roman Fietze:
Hallo Bernd und Tobias, (...)
Btw: Können die USB/seriell-Konverter tatsächlich +/- 12V rausschmeissen? Geht so etwas ohne Trafo? Was für Krabbeltierchen brauchts dafür?
Nennt sich Spannungspumpe. Die zappeln etwas mit einer Art Doppelbruecke an ein paar Kondensatoren herum. Im Prinzip erst parallel aufladen, dann schnell hintereinanderschalten und die Summe der Spannungen abgreifen. Siehe z.B. den Maxim MAX232. (...)
Ahh, danke! Wieder schlauer geworden :-) Bye Bernd -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
participants (3)
-
Bernd Nachtigall
-
Roman Fietze
-
Tobias Reichl