With kernel-2.6.0-1.23 a Magic Controller Technology USB<->RS-232 converter prints only garbage to the screen when connected to any RS-232 equipment at any bit rate. The equipment at the other end of the cable is known good and works. Setserial /dev/ttyUSBS0 returns invalid argument. Description of problem: Jan 5 14:55:48 d120 kernel: hub 3-0:1.0: new USB device on port 2, assigned address 2 Jan 5 14:55:49 d120 kernel: drivers/usb/serial/usb-serial.c: USB Serial support registered for Generic Jan 5 14:55:49 d120 kernel: drivers/usb/core/usb.c: registered new driver usbserial Jan 5 14:55:49 d120 kernel: drivers/usb/serial/usb-serial.c: USB Serial Driver core v2.0 Jan 5 14:55:49 d120 kernel: drivers/usb/serial/usb-serial.c: USB Serial support registered for Magic Control Technology USB-RS232 Jan 5 14:55:49 d120 kernel: mct_u232 3-2:1.0: Magic Control Technology USB-RS232 converter detected Jan 5 14:55:49 d120 kernel: usb 3-2: Magic Control Technology USB-RS232 converter now attached to ttyUSB0 (or usb/tts/0 for devfs) Jan 5 14:55:49 d120 kernel: drivers/usb/core/usb.c: registered new driver mct_u232 Jan 5 14:55:49 d120 kernel: drivers/usb/serial/mct_u232.c: Magic Control Technology USB-RS232 converter driver v1.2 Jan 5 14:55:49 d120 devlabel: devlabel service started/restarted Version-Release number of selected component (if applicable): kernel-2.6.0-1.23 How reproducible: Always Steps to Reproduce: 1. plug usb-serial converter 2. minicom 3. wait Actual Results: Prints garbage at any bit rate Expected Results: Echo something sane to the screen Additional info: Any thoughts?
Still a problem with kernel-2.6.0-1.43
Uh that would be 2.6.1-1.43 :)
I only saw it on 9600. 38400 works fine. The driver is made out of reverse-engineered snooper traces, so I'm not surprised it gets divisors wrong somewhere. The setserial is not supported in most of USB serial sub-drivers. But it's beside the point here.
O-kay! is there anything I can do to help you out to fix this or would you like to suggest another, known working, usb <-> rs232 converter? Most console applications I use (Cisco routers/switches and Sun servers) talk back at 9600 8N1. The Wise People over at International Banana Machines decided to leave a standard 9-pin serial port out of the Thinkpad T40p. Wasn't aware of setserial not working on usb.
Created attachment 97119 [details] Test fix 2
9600 is the victim, because it's the default speed after reboots. It can fail to set 38400 as well, in the following scenario: Run equipment on 38400. Connect adapter. Start kermit / minicom. Disconnect (at this point, MCT structures are gone, but tty stays!) Quit kermit / minicom. Reconnect. Start kermit / minicom again; -- at open time, wrong comparison prevents settings to be set
Work at 9600 8N1 now as well. Tested it against Cisco equipment.
I noticed one more thing... sending break from minicom doesn't work (while it does using the same cable on another laptop connected to a normal com-port). Should I file another bug? This is with 2.6.1-1.57.
Please go ahead and file. There's quite a bit of functions which either usbserial or various component drivers do not implement at all. I have about two bugs about it already. I'll get back to it when I can.
Can this be closed?
Yeah, this can be closed. Thanks.