(resubmitting because previous message seems to have been dropped) Alex Villacís Lasso wrote: > Alex Villacís Lasso wrote: >> Recently I bought an IrDA USB dongle with Windows-only drivers. When >> I plugged >> it in in Fedora 4, lsusb reported the following: >> >> Bus 001 Device 005: ID 07c0:4200 Code Mercenaries Hard- und Software >> GmbH >> Device Descriptor: >> bLength 18 >> bDescriptorType 1 >> bcdUSB 1.10 >> bDeviceClass 0 (Defined at Interface level) >> bDeviceSubClass 0 >> bDeviceProtocol 0 >> bMaxPacketSize0 8 >> idVendor 0x07c0 Code Mercenaries Hard- und Software GmbH >> idProduct 0x4200 >> bcdDevice 0.00 >> iManufacturer 1 KingSun Co,Ltd >> iProduct 2 USB to Irda >> iSerial 0 >> bNumConfigurations 1 >> Configuration Descriptor: >> bLength 9 >> bDescriptorType 2 >> wTotalLength 41 >> bNumInterfaces 1 >> bConfigurationValue 1 >> iConfiguration 4 Usb to Irda >> bmAttributes 0x80 >> MaxPower 100mA >> Interface Descriptor: >> bLength 9 >> bDescriptorType 4 >> bInterfaceNumber 0 >> bAlternateSetting 0 >> bNumEndpoints 2 >> bInterfaceClass 255 Vendor Specific Class >> bInterfaceSubClass 85 >> bInterfaceProtocol 0 >> iInterface 0 >> Endpoint Descriptor: >> bLength 7 >> bDescriptorType 5 >> bEndpointAddress 0x81 EP 1 IN >> bmAttributes 3 >> Transfer Type Interrupt >> Synch Type None >> Usage Type Data >> wMaxPacketSize 0x0008 1x 8 bytes >> bInterval 1 >> Endpoint Descriptor: >> bLength 7 >> bDescriptorType 5 >> bEndpointAddress 0x02 EP 2 OUT >> bmAttributes 3 >> Transfer Type Interrupt >> Synch Type None >> Usage Type Data >> wMaxPacketSize 0x0008 1x 8 bytes >> bInterval 1 >> >> > Googling around, I found the following post, that suggests that the > pl2303 driver might be more appropriate than irda-usb for this dongle: > >> I came across the text below, telling about the MA620 dongle, which >> seems to >> be quite related to the problem I have with the ES620 USB-IrDA >> dongle. I >> don't know whether it holds or not. >> I'm including the USB information from the dongle and hope you can >> help me >> out. I've found some clues saying that I should rebuild the PL2303 >> (kernel)module as a separate one, but I'm too unfamiliar with that >> kind of >> stuff to do it myself. >> >> I've tried to solve the problem using specific vendor-id and >> product-id with >> usbserial, but that will complain: >> kernel: usb 1-2.2: new low speed USB device using ohci_hcd and >> address 6 >> kernel: usbserial_generic 1-2.2:1.0: Generic converter detected >> kernel: usbserial_generic 1-2.2:1.0: Generic device with no bulk >> out, not >> allowed. >> kernel: usbserial_generic: probe of 1-2.2:1.0 failed with error -5 >> >> So, I don't have the knowledge to solve the problem, I do have the >> hardware to >> test a solution to it. >> Could you have a look? >> >> Many thanks in advance, >> Rob. >> >> >> >> Bus 001 Device 006: ID 07d0:4100 Dazzle >> Device Descriptor: >> bLength 18 >> bDescriptorType 1 >> bcdUSB 1.10 >> bDeviceClass 0 (Defined at Interface level) >> bDeviceSubClass 0 >> bDeviceProtocol 0 >> bMaxPacketSize0 8 >> idVendor 0x07d0 Dazzle >> idProduct 0x4100 >> bcdDevice 0.00 >> iManufacturer 1 Kingsun Semiconductor >> iProduct 2 USB to Serial >> iSerial 0 >> bNumConfigurations 1 >> Configuration Descriptor: >> bLength 9 >> bDescriptorType 2 >> wTotalLength 41 >> bNumInterfaces 1 >> bConfigurationValue 1 >> iConfiguration 4 USB to Serial >> bmAttributes 0x80 >> MaxPower 100mA >> Interface Descriptor: >> bLength 9 >> bDescriptorType 4 >> bInterfaceNumber 0 >> bAlternateSetting 0 >> bNumEndpoints 2 >> bInterfaceClass 255 Vendor Specific Class >> bInterfaceSubClass 85 >> bInterfaceProtocol 0 >> iInterface 0 >> Endpoint Descriptor: >> bLength 7 >> bDescriptorType 5 >> bEndpointAddress 0x81 EP 1 IN >> bmAttributes 3 >> Transfer Type Interrupt >> Synch Type None >> Usage Type Data >> wMaxPacketSize 0x0008 1x 8 bytes >> bInterval 1 >> Endpoint Descriptor: >> bLength 7 >> bDescriptorType 5 >> bEndpointAddress 0x02 EP 2 OUT >> bmAttributes 3 >> Transfer Type Interrupt >> Synch Type None >> Usage Type Data >> wMaxPacketSize 0x0008 1x 8 bytes >> bInterval 1 >> >> >> >> >> >> [Written by Martin Diehl <[EMAIL PROTECTED]>, modified by me] >> >> > > > i've bought a irda-usb dongle MA620 and i can't get it work with >> > > > kernel driver irda-usb.c - it's not supported. Does anybody have >> > > > experince with this? >> >> I don't have this hardware, but a few comments anyway: >> >> 1) Despite it's an USB device the MA620 has nothing to do with the >> IrDA-USB class spec. Therefore irda-usb.c is not the right driver. >> >> 2) Reportedly the MA620 is made by glueing a SIR encoder+transceiver >> to a >> pl2303 usb-to-rs232 bridge. Therefore the required setup is basically >> irtty on top of the usbserial+pl2303 driver - maybe the device id's >> have >> to be added to the pl2303 driver. >> >> 3) Furthermore it was also said the SIR silicon appears to be >> connected to >> the pl2303 the same way which is used for the MA600 serial dongle. >> Therefore the ma600 dongle protocol is needed on top of irtty. >> >> 4) With 2.4.x any setup with irtty (or similar drivers like ppp) on >> top of >> usb-serial has severe problems (might sleep with spinlock held). To fix >> this, backporting the usbserial from 2.6 would be required - which is >> rather unlikely to happen AFAICS. Furthermore even with this fixed >> the old >> irtty from 2.4.x has some potential locking issues wrt. tty and network >> layer. In conclusion irtty over usb will not work with 2.4 - sorry! >> >> 5) In 2.6 the usbserial issue is fixed and we have the new irtty-sir >> there. I know from my own 2.6-testing >> pl2303/usbserial/sir_dev/irtty-sir >> are all working together happily with some supported serial dongle >> behind >> an usb-to-rs232 bridge. Hence the remaining issue is to get the >> converted >> ma600 dongle driver working. This should be pretty easy if the MA620 >> internal wiring is really the same as MA600 and someone with the >> hardware >> would do the required testing. >> >> 6) You need to use irattach version 0.9.16-pre7 or later >> > So I went and added 07c0:4200 as a new ID to the pl2303 driver in the > sources, just to see what would happen. At first, the device was > "recognized", but on the first open of /dev/ttyUSB0 (by irattach) I > get a kernel oops: > > Jul 25 20:58:48 karlalex kernel: usb 1-1: new low speed USB device > using uhci_hcd and address 2 > Jul 25 20:58:48 karlalex kernel: usb 1-1: configuration #1 chosen from > 1 choice > Jul 25 20:58:48 karlalex kernel: usbcore: registered new driver usbserial > Jul 25 20:58:48 karlalex kernel: drivers/usb/serial/usb-serial.c: USB > Serial support registered for generic > Jul 25 20:58:48 karlalex kernel: usbcore: registered new driver > usbserial_generic > Jul 25 20:58:48 karlalex kernel: drivers/usb/serial/usb-serial.c: USB > Serial Driver core > Jul 25 20:58:48 karlalex kernel: drivers/usb/serial/usb-serial.c: USB > Serial support registered for pl2303 > Jul 25 20:58:48 karlalex kernel: pl2303 1-1:1.0: pl2303 converter > detected > Jul 25 20:58:48 karlalex kernel: usb 1-1: pl2303 converter now > attached to ttyUSB0 > Jul 25 20:58:48 karlalex kernel: usbcore: registered new driver pl2303 > Jul 25 20:58:48 karlalex kernel: drivers/usb/serial/pl2303.c: Prolific > PL2303 USB to serial adaptor driver > Jul 25 20:58:48 karlalex kernel: BUG: unable to handle kernel NULL > pointer dereference at virtual address 00000030 > Jul 25 20:58:48 karlalex kernel: printing eip: > Jul 25 20:58:48 karlalex kernel: deba24e8 > Jul 25 20:58:48 karlalex kernel: *pde = 00000000 > Jul 25 20:58:48 karlalex kernel: Oops: 0000 [#1] > Jul 25 20:58:48 karlalex kernel: PREEMPT > Jul 25 20:58:48 karlalex kernel: Modules linked in: pl2303 usbserial > binfmt_misc nls_ascii nls_cp437 vfat fat dm_mirror dm_mod video button > battery asus_acpi ac lp floppy nvram snd_via82xx_modem snd_via82xx > gameport snd_seq_dummy snd_ac97_codec snd_ac97_bus snd_seq_oss > snd_seq_midi_event snd_seq snd_pcm_oss snd_mixer_oss snd_pcm ehci_hcd > uhci_hcd snd_mpu401_uart snd_rawmidi snd_seq_device snd_timer > parport_pc snd via_agp parport i2c_viapro soundcore via_ircc > i2c_prosavage via_rhine mii agpgart irda ide_cd pcspkr crc_ccitt > snd_page_alloc cdrom rtc usbcore ext3 jbd > Jul 25 20:58:48 karlalex kernel: CPU: 0 > Jul 25 20:58:48 karlalex kernel: EIP: 0060:[<deba24e8>] Not > tainted VLI > Jul 25 20:58:48 karlalex kernel: EFLAGS: 00010297 (2.6.18-rc2 #1) > Jul 25 20:58:48 karlalex kernel: EIP is at pl2303_open+0x28/0x9c0 > [pl2303] > Jul 25 20:58:48 karlalex kernel: eax: 00000000 ebx: 00000000 ecx: > deba5e20 edx: ddf7c240 > Jul 25 20:58:48 karlalex kernel: esi: dd78f280 edi: ddb75c00 ebp: > dd6d3c80 esp: dcad1e3c > Jul 25 20:58:48 karlalex kernel: ds: 007b es: 007b ss: 0068 > Jul 25 20:58:48 karlalex kernel: Process irattach (pid: 1394, > ti=dcad1000 task=ddf211d0 task.ti=dcad1000) > Jul 25 20:58:48 karlalex kernel: Stack: dcad1e60 c0117008 00000000 > 00000000 00000003 00000292 dcb8b800 00000000 > Jul 25 20:58:48 karlalex kernel: c02fc524 dcb8b800 c0228b36 > 00000000 c0229a64 00000246 c031cc17 deb2934f > Jul 25 20:58:48 karlalex kernel: 00000000 ddb75c00 dd78f280 > ffffffed dcb8b800 deb26269 00000000 c02fc48f > Jul 25 20:58:48 karlalex kernel: Call Trace: > Jul 25 20:58:48 karlalex kernel: [<c0117008>] __wake_up+0x38/0x50 > Jul 25 20:58:48 karlalex kernel: [<c02fc524>] > _spin_unlock_irqrestore+0x14/0x30 > Jul 25 20:58:48 karlalex kernel: [<c0228b36>] tty_ldisc_enable+0x26/0x30 > Jul 25 20:58:48 karlalex kernel: [<c0229a64>] init_dev+0x254/0x690 > Jul 25 20:58:48 karlalex kernel: [<deb26269>] serial_open+0x139/0x1f0 > [usbserial] > Jul 25 20:58:48 karlalex kernel: [<c02fc48f>] _spin_unlock+0xf/0x30 > Jul 25 20:58:48 karlalex kernel: [<c0228a29>] check_tty_count+0x49/0xb0 > Jul 25 20:58:48 karlalex kernel: [<c022bb5e>] tty_open+0x16e/0x340 > Jul 25 20:58:48 karlalex kernel: [<c016f639>] chrdev_open+0xd9/0x1d0 > Jul 25 20:58:48 karlalex kernel: [<c016464a>] __dentry_open+0xea/0x270 > Jul 25 20:58:48 karlalex kernel: [<c0164885>] > nameidata_to_filp+0x35/0x40 > Jul 25 20:58:48 karlalex kernel: [<c016f560>] chrdev_open+0x0/0x1d0 > Jul 25 20:58:48 karlalex kernel: [<c01648db>] do_filp_open+0x4b/0x60 > Jul 25 20:58:48 karlalex kernel: [<c02fc48f>] _spin_unlock+0xf/0x30 > Jul 25 20:58:48 karlalex kernel: [<c0164541>] get_unused_fd+0xa1/0xc0 > Jul 25 20:58:48 karlalex kernel: [<c016493a>] do_sys_open+0x4a/0xe0 > Jul 25 20:58:48 karlalex kernel: [<c0164a0c>] sys_open+0x1c/0x20 > Jul 25 20:58:48 karlalex kernel: [<c010310d>] > sysenter_past_esp+0x56/0x79 > Jul 25 20:58:48 karlalex kernel: Code: 8d 76 00 55 57 89 c7 56 53 83 > ec 44 8b 1d 00 65 ba de 8b 30 8b a8 0c 02 00 00 85 db 0f 85 51 04 00 > 00 83 7d 34 02 74 1a 8b 47 6c <8b> 50 30 8b 06 e8 6e 1b c9 ff 8b 47 5c > 8b 50 30 8b 06 e8 61 1b > Jul 25 20:58:48 karlalex kernel: EIP: [<deba24e8>] > pl2303_open+0x28/0x9c0 [pl2303] SS:ESP 0068:dcad1e3c > Jul 25 20:58:48 karlalex kernel: <6>usb 1-1: USB disconnect, address 2 > Jul 25 20:58:49 karlalex kernel: pl2303 1-1:1.0: device disconnected > > Now my question is: is this kernel oops the result of adding a foreign > USB ID that would not work with this driver (pl2303) anyway, or is > this oops caused by something else going on? Thanks in advance for any > reply at all. > > Alex Villacís Lasso > >
------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys -- and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ Linux-usb-users@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-users