[linux-usb-devel] RE: Usb serial with power ON/OFF problem
Shalini - I'm not sure I understand the problem that you are describing. We did have a problem handling the case where we turn power off to the USB device by using external hardware means (i.e. we control the power supply to the device as well). In this case the file handles did not get closed properly. The following patch to usbserial.c fixed the problem for us on a 2.4.19 kernel. I don't really know about it's correctness and it is on an awfully old kernel version, so we have not submitted the patch. +++ usbserial.c 2005-05-31 03:08:47.0 -0400 @@ -1350,8 +1350,10 @@ if (serial) { /* fail all future close/read/write/ioctl/etc calls */ for (i = 0; i serial-num_ports; ++i) { - if (serial-port[i].tty != NULL) + if (serial-port[i].tty != NULL) { + tty_hangup(serial-port[i].tty); serial-port[i].tty-driver_data = NULL; + } } serial-dev = NULL; @@ -1470,6 +1472,7 @@ #endif info(DRIVER_DESC DRIVER_VERSION); + info(Fixed usbserial.o: added tty_hangup() in usb_serial_disconnect()); return 0; } I hope this helps you. Greg -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Tuesday, May 31, 2005 12:08 AM To: [EMAIL PROTECTED]; [EMAIL PROTECTED] Cc: linux-usb-devel@lists.sourceforge.net Subject: Usb serial with power ON/OFF problem Hi Greg/Lee, On this problem one more scenario, we tried to do switch off mobile manually without AT+CFUN=0, with this we are not getting control on file descriptors and we are not able to reopen file descriptors. Whereas in other case we could trap AT command and open the file descriptor, but in this case how do we take care of it? We thought that we will make use of proc file system, but not sure that this gives solution for our problem. I hope you understood this problem. Thanks, Shalini Confidentiality Notice The information contained in this electronic message and any attachments to this message are intended for the exclusive use of the addressee(s) and may contain confidential or privileged information. If you are not the intended recipient, please notify the sender at Wipro or [EMAIL PROTECTED] immediately and destroy all copies of this message and any attachments. --- This SF.Net email is sponsored by Yahoo. Introducing Yahoo! Search Developer Network - Create apps using Yahoo! Search APIs Find out how you can build Yahoo! directly into your own Applications - visit http://developer.yahoo.net/?fr=offad-ysdn-ostg-q22005 ___ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
Re: [linux-usb-devel] Re: [BUG] oops while completing async USB via usbdevio
On Tue, May 31, 2005 at 01:09:06AM +0200, Oliver Neukum wrote: Am Dienstag, 31. Mai 2005 00:55 schrieb David Brownell: The logic closing an open usbfs file -- which is done before any task exits with such an open file -- is supposed to block till all its URBs complete. So the pointer to the task should be valid for as long as any URB it's submitted is active. What happens if you pass such an fd through a socket? which is exactly what happens on certain distributions for all device opens if you look at SuSE's recent (in?)famous invention of resmgrd) -- - Harald Welte [EMAIL PROTECTED] http://gnumonks.org/ Privacy in residential applications is a desirable marketing option. (ETSI EN 300 175-7 Ch. A6) pgp3aNMFTUSH0.pgp Description: PGP signature
[linux-usb-devel] Re: [BUG] oops while completing async USB via usbdevio
On Tue, May 31, 2005 at 01:07:03AM +0200, Oliver Neukum wrote: and it prints p-sighand == NULL every time I exit a program while using the usbdevio based driver. consequently, the following patch 'fixed' the problem. Please do not consider this as a real fix, since there's certainly still a race condition left. Please use it as a hint to correctly fix the problem. It would be cleaner to terminate all URBs a task has submitted when the task terminates. so for every task termination, we do a linear search over the global list of pending URB's and terminate those where urb-task == taks_to_kill? Sounds a bit expensive, especially since you don't know (before iteration) whether that task has actually ever dealt with usbdevio or not. -- - Harald Welte [EMAIL PROTECTED] http://gnumonks.org/ Privacy in residential applications is a desirable marketing option. (ETSI EN 300 175-7 Ch. A6) pgpo6N3TpAvN9.pgp Description: PGP signature
Re: [linux-usb-devel] Re: [BUG] oops while completing async USB via usbdevio
On Mon, May 30, 2005 at 03:55:39PM -0700, David Brownell wrote: The logic closing an open usbfs file -- which is done before any task exits with such an open file -- is supposed to block till all its URBs complete. So the pointer to the task should be valid for as long as any URB it's submitted is active. unfortunately it doesn't seem to cover the fork() case, see below. I'm not familiar with the scheduler code to decide what fix is the way to go. Is it sufficient to do {get,put}_task_struct() from the usb code? It's worth making that change in any case, to avoid such questions in the future. And if it does any good, more power to the patch! Ok. Not that it helps at all, but I've never really trusted the usbfs async I/O code. Real AIO could be a lot more obviously correct. And smaller. mh, but nobody has written AIO-enabled usbfs2 yet ;) meanwhile, the current usbfs aio handling is the only way how to deal with delivery of interrupt pipe URB's to userspace drivers. mh. it appears like it's sighand which disappears, not the task itself. ... Odd. Isn't that nulled only in __exit_sighand(), which gets called only when the task itself is finally being freed? yes, I couldn't find any other location but __exit_sighand() that nulls task-sighand. And looking at exit.c, do_exit() definitely calls __exit_files(tsk) before it calls __exit_sighand() via exit_notify(). However, __exit_files() only calls close_files() if files-count goes down to zero. What if the process fork()ed before, and the other half of the fork still has a refcount? - boom. It seems to me that the whole usbdevio async handling doesn't really cope with a lot of the unix semantics, such as fork() or file descriptor passing. Wouldn't it help to associate the URB with the file (instaed of the task), and then send the signal to any task that still has opened the file? I'm willing to hack up a patch, if this is considered a sane fix. Cheers, Harald -- - Harald Welte [EMAIL PROTECTED] http://gnumonks.org/ Privacy in residential applications is a desirable marketing option. (ETSI EN 300 175-7 Ch. A6) pgp3eeHFmY3OA.pgp Description: PGP signature
[linux-usb-devel] USB device 0x93a/0x2468
This is a small PC-camera, judging by the vendor id with a CCD imager by Pixart Imaging. I've been researching how to make this work, but I'm getting to a bit of a hard stop. I wanted to try out the sn9c102 usb driver (by Luca Risolia) which seems to have some support for some Pixart devices. However, this driver claims to be for 2.6 kernel only as it works with V4L2. Now, I found a patch for adding V4L2 to kernel 2.4.26, which I managed to apply to 2.4.30 with a bit of work. I'm now trying to make the SN9C102 driver compile in a 2.4.30 source-tree, which is proving to be a little more work ... well, more than I really wanted to take on. I have dabbled with the kernel, but really just the tiniest bit - I wrote one or two modules for 2.4, fairly simple stuff and for hardware I'd developed. I was hoping for someone to say ah, but that's easy, just do 1-2-3, et voila! - any volunteers? -- /Per Jessen, Zürich --- This SF.Net email is sponsored by Yahoo. Introducing Yahoo! Search Developer Network - Create apps using Yahoo! Search APIs Find out how you can build Yahoo! directly into your own Applications - visit http://developer.yahoo.net/?fr=offad-ysdn-ostg-q22005 ___ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
Re: [linux-usb-devel] Re: Patch for Prolific PL-3507
Phil Dibowitz wrote: Alex Butcher wrote: Unfortunately, some of us can't upgrade to newer firmware since our caddies have been manufactured with flash memory that can only be reprogrammed out-of-circuit. Oh, and I can't use the Firewire port either, since the firmware in my caddies is utterly broken w.r.t. to Firewire based on my research. :-( Perhaps Phil or Greg have some bright ideas... I might - but please always bring this to the list as there are lots of people with bright ideas - we'll gladly CC you if you're note on the list. My first question would be, did the bcdDevice number change when you did the firmware upgrade - but looking at the code, we're only looking at one bcdDevice number. That's not fun. Alan may have some cool complex idea, but at this point it looks like the only way we can not break people is by robbing some people of a sector... Well - we could make it configurable... an option in the configure underneath usb-storage... is your prolific 3507 past firmware revision ? But that doesn't seem much better. Oh, I CC'd the list but didn't include all the previous emails. The summary (though it can probably be pieced together from the above, I figure I should state it) is that the latest version of the firmware for the PL-3507 fixes the CAPACITY bug and thus linux sees one too-few sectors because of the US_FL_FIX_CAPACITY flag that is required for older firmware revisions. The bcdDevice number does not change. Also, as you can see above, upgrading firmware isn't an option for everyone. -- Phil Dibowitz [EMAIL PROTECTED] Freeware and Technical Pages Insanity Palace of Metallica http://www.phildev.net/ http://www.ipom.com/ They that can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety. - Benjamin Franklin, 1759 signature.asc Description: OpenPGP digital signature
Re: [linux-usb-devel] USB Gadget driver for AT91RM9200
Hi Tobias, First, get the files from the CVS of the old at91 driver from Thomas Rathbone: http://cvs.sourceforge.net/viewcvs.py/at91-udp/at91-udc/ This will replace the files contained in your /usr/src/linux2.4.x.x/drivers/usb/ folder. Extract the attached archive (i hope it will not be rejected) (it's a tar.gz) into the gadget folder, and replace the existing files. Do a make menuconfig, set the configuration with Atmel AT91 plus ethernet, mass storage or other driver. type make module and that's done. To use it, insmod gpio, insmod at91_udc and then insert the gadget driver you want, for ex: insmod g_file_storage file=storage Warning: this is asolutelly not a 100% working driver! I was a little much objective in my first message... I succeded to make my AT91 board works like a mass storage with a linux 2.6 host (mount, write file, read file, umount) but it didnt works with a Windows 2000 host. It's not a clean code too, so if somebody find a bug, share please :-) I hope it can help you. Regards, Matthieu HAMEAU --- Tobias Arp [EMAIL PROTECTED] a écrit: Hi, i am interested in this driver. It would be nice if you can send it to me. Can you give me alos some hints how to use it for example as an ethernet or serial device ? Regards Tobias Arp __ Verschicken Sie romantische, coole und witzige Bilder per SMS! Jetzt bei WEB.DE FreeMail: http://f.web.de/?mc=021193 _ Découvrez le nouveau Yahoo! Mail : 1 Go d'espace de stockage pour vos mails, photos et vidéos ! Créez votre Yahoo! Mail sur http://fr.mail.yahoo.com gadget.tar.gz.txt Description: 81662231-gadget.tar.gz.txt
[linux-usb-devel] usb bluetooth Dongle and linux usb bluetooth tty driver
Hi List, I am tring to communicate with my Bluetooth USB dongle (BT5000U from silicom Wave) through Linux USB Bluetooth TTY driver. I am using 2.4.19-rmk7-ds3 arm Kernel. I have USB support. Atpresent my kernel dont have any Bluetooth stack (Bluez or Open BBT). I didnt add HID support (Keyboard/vedio support ) also. I have connected my USB dongle in PCI-USB converter card. USB Dongle seems to be identified by the kernel. I tried to write some data { 0x01,0x09,0x10,00} . through C program.. i got the following messages on dmesg. I have pasted the complete dmesg. I wasnt able to read any thing from it.. I m very newbie to USB and bluetooth.. please provide me some inputs. # dmesg K code, 415K data, 68K init) Dentry cache hash table entries: 2048 (order: 2, 16384 bytes) Inode cache hash table entries: 1024 (order: 1, 8192 bytes) Mount-cache hash table entries: 512 (order: 0, 4096 bytes) Buffer-cache hash table entries: 1024 (order: 0, 4096 bytes) Page-cache hash table entries: 4096 (order: 2, 16384 bytes) POSIX conformance testing by UNIFIX FIFO_CFG: FIFO_PRIO: PCI: bus0: Fast back to back transfers enabled PCI: bus1: Fast back to back transfers enabled isapnp: Scanning for PnP cards... isapnp: No Plug Play device found Linux NET4.0 for Linux 2.4 Based upon Swansea University Computer Society NET3.039 Initializing RT netlink socket Memory clock = 20.000 MHz Module id: 0 Starting kswapd VFS: Diskquotas version dquot_6.4.0 initialized Coda Kernel/Venus communications, v5.3.18, [EMAIL PROTECTED] JFFS2 version 2.1. (C) 2001 Red Hat, Inc., designed by Axis Communications AB. ttyAM0 at MEM 0x1600 (irq = 1) is a AMBA ttyAM1 at MEM 0x1700 (irq = 2) is a AMBA kmikbd at 0xf180 on irq 3 (Keyboard) kmikbd: reset failed; no ack pty: 256 Unix98 ptys configured kmimouse at 0xf190 on irq 4 (Mouse) kmimouse: reset failed; no ack loop: loaded (max 8 devices) eepro100.c:v1.09j-t 9/29/99 Donald Becker http://www.scyld.com/network/eepro100.html eepro100.c: $Revision: 1.36 $ 2000/11/17 Modified by Andrey V. Savochkin [EMAIL PROTECTED] and others eth0: Intel Corp. 82557/8/9 [Ethernet Pro 100], 00:D0:B7:17:20:EA, IRQ 15. Board assembly 721383-008, Physical connectors present: RJ45 Primary interface chip i82555 PHY #1. General self-test: passed. Serial sub-system self-test: passed. Internal registers self-test: passed. ROM checksum self-test: passed (0x04f4518b). raw1394: /dev/raw1394 device initialized ieee1394: Loaded AMDTP driver ieee1394: Loaded CMP driver AFS: Found 2 x16 devices at 0x80 in 32-bit mode AFS: Found 2 x16 devices at 0x100 in 32-bit mode AFS: Found 2 x16 devices at 0x180 in 32-bit mode 0: offset=0x0,size=0x2,blocks=64 1: offset=0x80,size=0x2,blocks=64 2: offset=0x100,size=0x2,blocks=64 3: offset=0x180,size=0x2,blocks=64 Using buffer write method mtd0: at 0x, 128KB,0, BMON Loaded Creating 1 MTD partitions on AFS: 0x-0x0002 : BMON Loaded mtd: Giving out device 0 to BMON Loaded usb.c: registered new driver usbdevfs usb.c: registered new driver hub hcd/ehci-hcd.c: 2002-May-07 USB 2.0 'Enhanced' Host Controller (EHCI) Driver hcd/ehci-hcd.c: block sizes: qh 96 qtd 96 itd 128 sitd 64 usb-uhci.c: $Revision: 1.275 $ time 14:20:06 May 31 2005 usb-uhci.c: High bandwidth mode enabled usb-uhci.c: v1.275:USB Universal Host Controller Interface driver usb-ohci-pci.c: usb-00:0c.0, OPTi Inc. 82C861 usb-ohci.c: USB OHCI at membase 0xc383, IRQ 16 usb.c: new USB bus registered, assigned bus number 1 usb.c: kmalloc IF c0238b20, numif 1 usb.c: new device strings: Mfr=0, Product=2, SerialNumber=1 usb.c: USB device number 1 default language ID 0x0 Product: USB OHCI Root Hub SerialNumber: c383 hub.c: USB hub found hub.c: 2 ports detected hub.c: standalone hub hub.c: ganged power switching hub.c: global over-current protection hub.c: Port indicators are not supported hub.c: power on to power good time: 2ms hub.c: hub controller current requirement: 0mA hub.c: port removable status: RR hub.c: local power source is good hub.c: no over-current condition exists hub.c: enabling power on all ports usb.c: hub driver claimed interface c0238b20 usb.c: kusbd: /sbin/hotplug add 1 usb.c: kusbd policy returned 0xfffe usb.c: registered new driver hid hid-core.c: v1.8.1 Andreas Gal, Vojtech Pavlik [EMAIL PROTECTED] hid-core.c: USB HID support drivers CDCEther.c: CDCEther.c: 0.98.6 7 Jan 2002 Brad Hards and another usb.c: registered new driver CDCEther bluetooth.c: USB Bluetooth support registered usb.c: registered new driver bluetooth bluetooth.c: USB Bluetooth tty driver v0.12 usb.c: registered new driver usbnet usb.c: registered new driver serial usbserial.c: USB Serial support registered for Generic usbserial.c: USB Serial Driver core v1.4 mice: PS/2 mouse device common for all mice NET4: Linux TCP/IP 1.0 for NET4.0 IP Protocols: ICMP, UDP, TCP, IGMP IP: routing cache hash table of 512
Re: [linux-usb-devel] Re: [BUG] oops while completing async USB via usbdevio
Am Dienstag, 31. Mai 2005 10:48 schrieb Harald Welte: Wouldn't it help to associate the URB with the file (instaed of the task), and then send the signal to any task that still has opened the file? I'm willing to hack up a patch, if this is considered a sane fix. That would seem better. Regards Oliver --- This SF.Net email is sponsored by Yahoo. Introducing Yahoo! Search Developer Network - Create apps using Yahoo! Search APIs Find out how you can build Yahoo! directly into your own Applications - visit http://developer.yahoo.net/?fr=offad-ysdn-ostg-q22005 ___ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
[linux-usb-devel] Re: Problems with connect/disconnect cycles
On Mit, 25 Mai 2005, Andrew Morton wrote: I found that my builtin sd card reader connected via USB port experiences several connect/reconnect cycles every time I boot. Did we end up deciding whether this was a bug? If so, is it still present in 2.6.12-rc5? 2.6.12-rc5-mm1, no problem. (Probably also already in rc4-mmX the problem is gone) Close the bug. Best wishes Norbert --- Dr. Norbert Preining preining AT logic DOT at Università di Siena sip:[EMAIL PROTECTED] +43 (0) 59966-690018 gpg DSA: 0x09C5B094 fp: 14DF 2E6C 0307 BE6D AD76 A9C0 D2BF 4AA3 09C5 B094 --- PITSLIGO (n.) Part of traditional mating rite. During the first hot day of spring, all the men in the tube start giving up their seats to ladies and staphanging. The purpose of pitsligo is for them to demonstrate their manhood by displaying the wet patches under their arms. --- Douglas Adams, The Meaning of Liff --- This SF.Net email is sponsored by Yahoo. Introducing Yahoo! Search Developer Network - Create apps using Yahoo! Search APIs Find out how you can build Yahoo! directly into your own Applications - visit http://developer.yahoo.net/?fr=offad-ysdn-ostg-q22005 ___ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
[linux-usb-devel] how to support different interfaces in one module
I want to write a driver for my webcamera, I found a lot of open source project. with these driver, the webcamera can't recieve voice. I want to know whether can I support all the interfaces in one modules, and how? Is there any sample code demonstrating how to deal with different interfaces in one module. Thank you! Regards, Leo ___ http://cn.mail.yahoo.com --- This SF.Net email is sponsored by Yahoo. Introducing Yahoo! Search Developer Network - Create apps using Yahoo! Search APIs Find out how you can build Yahoo! directly into your own Applications - visit http://developer.yahoo.net/?fr=offad-ysdn-ostg-q22005 ___ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
Re: [linux-usb-devel] how to support different interfaces in one module
Yi Liang wrote: I want to write a driver for my webcamera, I found a lot of open source project. with these driver, the webcamera can't recieve voice. I want to know whether can I support all the interfaces in one modules, and how? Is there any sample code demonstrating how to deal with different interfaces in one module. Thank you! This would probably be just a case of claiming multiple interfaces in your probe function. (Or using several probe functions in one module). But if your camera has an audio interface chances are its using the standard audio class. In that case you can just let the usb audio driver handle it and implement just the video part... Jeroen --- This SF.Net email is sponsored by Yahoo. Introducing Yahoo! Search Developer Network - Create apps using Yahoo! Search APIs Find out how you can build Yahoo! directly into your own Applications - visit http://developer.yahoo.net/?fr=offad-ysdn-ostg-q22005 ___ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
[linux-usb-devel] 2.4.28 Bulk queueing
I'm updating our WhiteHEAT driver, and would like to have URB queueing working. I'm using drivers/usb/host/uhci.c. After some time of submitting queued OUT URBS, the system stops. uhci_interrupt() stops being entered, ie, the hardware stops generating interrupts. My machine is still fine in all other regards, so it's not a dead/livelock. It does not appear to be a problem with the toggle bit. With the analyser we see that the bus stops mostly. The SOF item is still running (sorry for the horrible USB terminology), but the IN token on EP7 is not being submitted to the WhiteHEAT. If I change the driver to use only one URB on OUT then this does not occur. Below is the output of /proc/drivers/uhci/hc0. I'm not knowledgeable enough to see any problems in it. I'm hoping someone here can spot something obvious. What I do see, which may not be problems: - Queued QH dfe53180 is 'link'ed from two different QHs - TD dfe5a270 'link's to a QH, instead of having UHCI_PTR_TERM like the rest - Queued QH dfe530f0 'link's to dfe53092, which doesn't seem to exist - The Queued QH list is pointed to twice I'm willing to do testing. ..Stu HC status usbcmd= 00c1 Maxp64 CF RS usbstat = usbint= 000f usbfrnum = (0)d30 flbaseadd = 1fe54000 sof = 40 stat1 = 0480 stat2 = 0495 PortEnabled PortConnected Frame List Skeleton TD's - skel_term_td [dfe5a1b0] link (1fe5a1b0) e0 Length=0 MaxLen=7ff DT0 EndPt=0 Dev=7f, PID=69(IN) (buf=) Skeleton QH's - skel_bulk_qh [dfe530c0] link (1fe53152) element (1fe5a1e0) 0: [dfe5a1e0] link (0001) e3 SPD IOC Active NAK Length=7ff MaxLen=3f DT0 EndPt=7 Dev=8, PID=69(IN) (buf=1f9ae660) [dfe53150] link (1fe53182) element (1fe5a270) 0: [dfe5a270] link (1fe53122) e3 SPD IOC Active NAK Length=3f MaxLen=3f DT1 EndPt=4 Dev=8, PID=e1(OUT) (buf=1f9ae160) -- Queued QH's: [dfe53120] link (1fe53182) element (1fe5a2a0) 0: [dfe5a2a0] link (0001) e3 SPD IOC Active Length=0 MaxLen=3f DT0 EndPt=4 Dev=8, PID=e1(OUT) (buf=1f9ae360) [dfe53180] link (1fe530f2) element (1fe5a210) 0: [dfe5a210] link (0001) e3 SPD IOC Active Length=0 MaxLen=3f DT0 EndPt=4 Dev=8, PID=69(IN) (buf=1f9ae1e0) [dfe530f0] link (1fe53092) element (1fe5a240) 0: [dfe5a240] link (0001) e3 SPD IOC Active Length=0 MaxLen=1 DT0 EndPt=7 Dev=8, PID=e1(OUT) (buf=1f9ae3e0) --- This SF.Net email is sponsored by Yahoo. Introducing Yahoo! Search Developer Network - Create apps using Yahoo! Search APIs Find out how you can build Yahoo! directly into your own Applications - visit http://developer.yahoo.net/?fr=offad-ysdn-ostg-q22005 ___ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
Re: [linux-usb-devel] USB device 0x93a/0x2468
On Tue, 2005-05-31 at 10:53 +0200, Per Jessen wrote: This is a small PC-camera, judging by the vendor id with a CCD imager by Pixart Imaging. I've been researching how to make this work, but I'm getting to a bit of a hard stop. I wanted to try out the sn9c102 usb driver (by Luca Risolia) which seems to have some support for some Pixart devices. However, this driver claims to be for 2.6 kernel only as it works with V4L2. Now, I found a patch for adding V4L2 to kernel 2.4.26, which I managed to apply to 2.4.30 with a bit of work. I'm now trying to make the SN9C102 driver compile in a 2.4.30 source-tree, which is proving to be a little more work ... well, more than I really wanted to take on. I have dabbled with the kernel, but really just the tiniest bit - I wrote one or two modules for 2.4, fairly simple stuff and for hardware I'd developed. I was hoping for someone to say ah, but that's easy, just do 1-2-3, et voila! - any volunteers? For some info about the 0x93a 0x2460/0x2468 (pac207c from Pixart) see my page (pac20x SANE Vidcam backend, under development): http://gkall.hobby.nl/pac20x.html its a single chip camera -- m.vr.gr. Gerard Klaver --- This SF.Net email is sponsored by Yahoo. Introducing Yahoo! Search Developer Network - Create apps using Yahoo! Search APIs Find out how you can build Yahoo! directly into your own Applications - visit http://developer.yahoo.net/?fr=offad-ysdn-ostg-q22005 ___ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
Re: [linux-usb-devel] 2.4.28 Bulk queueing
On Tuesday 31 May 2005 9:42 am, Stuart MacDonald wrote: I'm updating our WhiteHEAT driver, and would like to have URB queueing working. My advice continues to be to strongly avoid using bulk queueing on 2.4 kernels ... on 2.6 it's even in the regression test suite, but it took some time for it to be reliable even there. On 2.4, having it work is more luck than anything else. On 2.6, having it work is the way it should be: careful planning and testing (and bugfixing!) has made it worth relying on. - Dave --- This SF.Net email is sponsored by Yahoo. Introducing Yahoo! Search Developer Network - Create apps using Yahoo! Search APIs Find out how you can build Yahoo! directly into your own Applications - visit http://developer.yahoo.net/?fr=offad-ysdn-ostg-q22005 ___ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
[linux-usb-devel] [patch 2.6.12-rc5] wireless usb linux/usb_ch9.h declarations
Last week the Wireless USB spec was published. So naturally I was curious what would be involved in having Linux work with it, whenever hardware becomes available. This will be using low power short-range radios to get rid of some wires ... more like Bluetooth than Zigbee, but with data rates of up to 480 Mbit/sec. Here's a patch that teaches Linux about the various new descriptors and host-visible messages that will be involved. If you want to get a flavor for the technology, you can skim this patch. There are some things that'd be visible to device drivers. One is that transfer speeds will be variable, based on signal quality sorts of issues (e.g. at 10 meters, higher speeds are tricky). And for similare reasons, endpoint packet size can be variable. Plus there's different handling for periodic transfers, and for enumeration. The secure key exchange will be user-visible. The easy way to do it is to connect to the USB host using wired USB the first time, establishing a trust relationship. Because it involves secure key storage, I preduct some interesting OS implications. :) Manufacturers are threatening to have Wireless USB products available this year. I suppose that's possible; regulatory approvals are so far just for the US though. And the fact that USB is only going to be one of several stacks going on top of the Ultra Wide Band (UWB) radio tech should speed some parts of the supply chain. Other stacks planned include Bluetooth and I think FireWire ... given that there's still a FreeScale-led camp using alternate radio tech for UWB, there are a few reasons to suspect that end-user products in 2005 might be a bit of an aggressive target. But still, a public spec is at least one of the key visible milestones here. Anyway, here's that patch. Vendors who have Wireless USB products in development are of course encouraged to support development of Linux-USB drivers for this technology. ;) - Dave This provides declarations for new requests, descriptors, and bitfields as defined in the Wireless USB 1.0 spec. Device support will involve a new Wire Adapter device class, connecting a USB Host to a cluster of wireless USB devices. There will be two adapter types: * Host Wireless Adapter (HWA): the downstream link is wireless, which connects a wireless USB host to wireless USB devices (not unlike like a hub) including to the second type of adapter. * Device Wireless Adapter (DWA): the upstream link is wireless, for connecting existing USB devices through wired links into the cluser. All wireless USB devices will need persistent (and secure!) key storage, and it's probable that Linux -- or device firmware -- will need to be involved with that to bootstrap the initial secure key exchange. Some user interface is required in that initial key exchange, and since the most hands-off one is a wired USB link, I suspect wireless operation will usually not be the only mode for wireless USB devices. (Plus, devices can recharge batteries using wired USB...) All other key exchange protocols need error prone user interactions, like copying and/or verifying keys. It'll likely be a while before we have commercial Wireless USB hardware, much less Linux implementations that know how to use it. Signed-off-by: David Brownell [EMAIL PROTECTED] --- g26.orig/include/linux/usb_ch9.h 2005-05-30 10:15:34.0 -0700 +++ g26/include/linux/usb_ch9.h 2005-05-31 09:17:08.0 -0700 @@ -6,11 +6,14 @@ * * - the master/host side Linux-USB kernel driver API; * - the usbfs user space API; and - * - (eventually) a Linux gadget slave/device side driver API. + * - the Linux gadget slave/device/peripheral side driver API. * * USB 2.0 adds an additional On The Go (OTG) mode, which lets systems * act either as a USB master/host or as a USB slave/device. That means - * the master and slave side APIs will benefit from working well together. + * the master and slave side APIs benefit from working well together. + * + * There's also Wireless USB, using low power short range radios for + * peripheral interconnection but otherwise building on the USB framework. */ #ifndef __LINUX_USB_CH9_H @@ -68,6 +71,18 @@ #define USB_REQ_SET_INTERFACE 0x0B #define USB_REQ_SYNCH_FRAME 0x0C +#define USB_REQ_SET_ENCRYPTION 0x0D /* Wireless USB */ +#define USB_REQ_GET_ENCRYPTION 0x0E +#define USB_REQ_SET_HANDSHAKE 0x0F +#define USB_REQ_GET_HANDSHAKE 0x10 +#define USB_REQ_SET_CONNECTION 0x11 +#define USB_REQ_SET_SECURITY_DATA 0x12 +#define USB_REQ_GET_SECURITY_DATA 0x13 +#define USB_REQ_SET_WUSB_DATA 0x14 +#define USB_REQ_LOOPBACK_DATA_WRITE 0x15 +#define USB_REQ_LOOPBACK_DATA_READ 0x16 +#define USB_REQ_SET_INTERFACE_DS 0x17 + /* * USB feature flags are written using USB_REQ_{CLEAR,SET}_FEATURE, and * are read as a bit array returned by USB_REQ_GET_STATUS. (So there @@ -75,10 +90,12 @@ */ #define USB_DEVICE_SELF_POWERED 0 /* (read only) */ #define USB_DEVICE_REMOTE_WAKEUP 1 /*
RE: [linux-usb-devel] 2.4.28 Bulk queueing
From: On Behalf Of David Brownell My advice continues to be to strongly avoid using bulk queueing on 2.4 kernels ... on 2.6 it's even in the regression test suite, but it took some time for it to be reliable even there. On 2.4, having it work is more luck than anything else. On 2.6, having it work is the way it should be: careful planning and testing (and bugfixing!) has made it worth relying on. Ok. I'd about given up on it anyway. ..Stu --- This SF.Net email is sponsored by Yahoo. Introducing Yahoo! Search Developer Network - Create apps using Yahoo! Search APIs Find out how you can build Yahoo! directly into your own Applications - visit http://developer.yahoo.net/?fr=offad-ysdn-ostg-q22005 ___ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
[linux-usb-devel] USB Kernel Bug #4431
Hi all, Andrew Morton asked me to forward information for Bug 4431 written up in bugzilla for the Linux mainline kernel. Basically, the bug is a Crash using usblp.c kernel access of bad area basically when using a tool as a poller for the printer device. The basic steps to reproduce are doing a repeated open-read/write-close on the usblp device, once every 500-1000ms. Soemtimes it can happen in 50 tries, sometimes it can happen in 500, but it will always happen. The thing to note is that printer.c in 2.4.18 does not see this, but the same usblp code in 2.3.30/2.4.31 and 2.6.* does crash. I was asked to attach the file I was using to crash the kernel, so the c file is attached. The hardware is a PPC 860 board with a Philip ISP116x host controller. This crash happens using the 2.6.* kernel as well as 2.4.30 and higher. If anyone requires any help by me, or has any suggestions, please do let me know. Thanks, Adam Oldham / * Adam Oldham, Software Engineer, Gilbarco Inc * Greensboro, NC * Big H Performance Rally Team - http://www.bighracing.com */ __ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com autopoller.c Description: 108378008-autopoller.c
Re: [linux-usb-devel] Re: [BUG] oops while completing async USB via usbdevio
On Tuesday 31 May 2005 1:48 am, Harald Welte wrote: On Mon, May 30, 2005 at 03:55:39PM -0700, David Brownell wrote: The logic closing an open usbfs file -- which is done before any task exits with such an open file -- is supposed to block till all its URBs complete. So the pointer to the task should be valid for as long as any URB it's submitted is active. unfortunately it doesn't seem to cover the fork() case, see below. OK, so it seems this is a moderately deep broken assumption in usbfs. Not that it helps at all, but I've never really trusted the usbfs async I/O code. Real AIO could be a lot more obviously correct. And smaller. mh, but nobody has written AIO-enabled usbfs2 yet ;) I'm still hoping that one of the folk who want make an interesting and useful contribution to Linux will take the hint. It goes slowly. :) Right now I think a usbfs 1.5 would be the simplest way to deliver it ... an ioctl that returns a new per-endpoint file descriptor. It'd need to support the AIO calls and a bit more ... and that could be the guts of a usbfs2. The gadgetfs code shows how small that part could be ... and later, some libfs based code could do all the fun stuff, creating a real usbfs2 that exports normal per-endpoint files and so on. Then we could deprecate the current AIO stuff... meanwhile, the current usbfs aio handling is the only way how to deal with delivery of interrupt pipe URB's to userspace drivers. Other than tying up the file descriptor with a blocking read, that is. However, __exit_files() only calls close_files() if files-count goes down to zero. What if the process fork()ed before, and the other half of the fork still has a refcount? - boom. It seems to me that the whole usbdevio async handling doesn't really cope with a lot of the unix semantics, such as fork() or file descriptor passing. *cough* usbfs2 aio *cough* Wouldn't it help to associate the URB with the file (instaed of the task), and then send the signal to any task that still has opened the file? I'm willing to hack up a patch, if this is considered a sane fix. Sounds reasonable, except that not all such tasks will want the signal. Though I guess the infrastructure to filter the signal out already exists, so the main missing piece is that urb-to-file binding. - Dave --- This SF.Net email is sponsored by Yahoo. Introducing Yahoo! Search Developer Network - Create apps using Yahoo! Search APIs Find out how you can build Yahoo! directly into your own Applications - visit http://developer.yahoo.net/?fr=offad-ysdn-ostg-q22005 ___ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
[linux-usb-devel] Unspported device: Belkin F5U220
I just picked up a Belkin F5U220, but it doesn't seem to be supported. lspci (without -v) said just NEC Device. Anybody know how I could get this to work? Thanks. -Eric. begin:vcard fn:Eric Berg n:Berg;Eric email;internet:[EMAIL PROTECTED] tel;home:212-212-2918 tel;cell:646-418-3608 x-mozilla-html:FALSE version:2.1 end:vcard
Re: [linux-usb-devel] Unspported device: Belkin F5U220
Eric Berg wrote: I just picked up a Belkin F5U220, but it doesn't seem to be supported. lspci (without -v) said just NEC Device. Anybody know how I could get this to work? Thanks. Please post your kernel version, the whole lspci line with and without -n and info on what kind of device that F5U220 is. btw: I have F5U222, Hi-Speed USB 2.0 Notebook Card, which worked out-of-the-box for me. Is your device something similar? -- Anssi Hannula --- This SF.Net email is sponsored by Yahoo. Introducing Yahoo! Search Developer Network - Create apps using Yahoo! Search APIs Find out how you can build Yahoo! directly into your own Applications - visit http://developer.yahoo.net/?fr=offad-ysdn-ostg-q22005 ___ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
[linux-usb-devel] [PATCH as526] UHCI: Detect invalid ports
Greg: This patch changes the way uhci-hcd detects valid ports. The specification doesn't mention any way to find out how many ports a controller has, so the driver has to use some heuristics, reading the port status and control register and deciding whether the value makes sense. With this patch the driver will recognize a typical failure mode (all bits set to one) for nonexistent ports and won't assume there are always at least 2 ports -- such an assumption seems silly if the heuristics have already shown that the ports don't exist. Alan Stern Signed-off-by: Alan Stern [EMAIL PROTECTED] Index: usb-2.6/drivers/usb/host/uhci-hcd.c === --- usb-2.6.orig/drivers/usb/host/uhci-hcd.c +++ usb-2.6/drivers/usb/host/uhci-hcd.c @@ -495,24 +495,24 @@ static int uhci_reset(struct usb_hcd *hc /* The UHCI spec says devices must have 2 ports, and goes on to say * they may have more but gives no way to determine how many there -* are. However, according to the UHCI spec, Bit 7 of the port +* are. However according to the UHCI spec, Bit 7 of the port * status and control register is always set to 1. So we try to -* use this to our advantage. +* use this to our advantage. Another common failure mode when +* a nonexistent register is addressed is to return all ones, so +* we test for that also. */ for (port = 0; port (io_size - USBPORTSC1) / 2; port++) { unsigned int portstatus; portstatus = inw(uhci-io_addr + USBPORTSC1 + (port * 2)); - if (!(portstatus 0x0080)) + if (!(portstatus 0x0080) || portstatus == 0x) break; } if (debug) dev_info(uhci_dev(uhci), detected %d ports\n, port); - /* Anything less than 2 or greater than 7 is weird, -* so we'll ignore it. -*/ - if (port 2 || port UHCI_RH_MAXCHILD) { + /* Anything greater than 7 is weird so we'll ignore it. */ + if (port UHCI_RH_MAXCHILD) { dev_info(uhci_dev(uhci), port count misdetected? forcing to 2 ports\n); port = 2; --- This SF.Net email is sponsored by Yahoo. Introducing Yahoo! Search Developer Network - Create apps using Yahoo! Search APIs Find out how you can build Yahoo! directly into your own Applications - visit http://developer.yahoo.net/?fr=offad-ysdn-ostg-q22005 ___ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
Re: [linux-usb-devel] [PATCH as526] UHCI: Detect invalid ports
On Tue, May 31, 2005 at 04:33:21PM -0400, Alan Stern wrote: - * are. However, according to the UHCI spec, Bit 7 of the port + * are. However according to the UHCI spec, Bit 7 of the port - /* Anything less than 2 or greater than 7 is weird, - * so we'll ignore it. + /* Anything greater than 7 is weird so we'll ignore it. */ Out of curiosity, why the removal of commas? The sentences look wrong to me without them. -- Glenn Maynard --- This SF.Net email is sponsored by Yahoo. Introducing Yahoo! Search Developer Network - Create apps using Yahoo! Search APIs Find out how you can build Yahoo! directly into your own Applications - visit http://developer.yahoo.net/?fr=offad-ysdn-ostg-q22005 ___ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
Re: [linux-usb-devel] Isochronous URBs
Hi Alan, Hi David, thanks for your answers. On Mon, 30 May 2005, David Brownell wrote: It does however strongly suggest you weren't using isochronous endpoints, since 3strikes is not an ISO error. :) You were right, this error was caused by a copy'n'paste mistake *slap*... However, I have a new problem. Since transfers are now taking place (URBs are submitted and received) every iso_frame_desc has status -71 (-EPROTO) instead of being successful and urb-error_count == urb-number_of_packets. What can be the cause for that? It is a USB2.0 device so I looked at ehci-sched.c to see in which situation -EPROTO is assigned to status. I found two places (2.6.11): line 1358: when having t EHCI_ISOC_XACTERR line 1722: when having XACT, MMF, etc error I'm sorry, but I don't know what these errors mean... :( . I assume I'm doing something wrong in the initialization of the URBs, but what? This is my urb-init-routine: urb-dev = d-udev; urb-context = d; urb-complete = dvb_usb_urb_complete; urb-pipe = usb_rcvisocpipe(d-udev,d-props.urb.endpoint); urb-transfer_flags = URB_ISO_ASAP; urb-interval = 1; /* 125us from /proc/bus/usb/devices */ urb-number_of_packets = 64; /* from the windows driver */ urb-transfer_buffer_length = d-buf_size; /* 64*940*3 */ urb-transfer_buffer = d-buf_list[i]; buf_list is a list of buffer allocated like this: d-buf_list[d-buf_num] = usb_buffer_alloc(d-udev, size, SLAB_ATOMIC, d-dma_addr[d-buf_num]) All parameters I took from the windows driver. Thanks for your help, I hope it is something obvious. If you need more information to evaluate the situation, please ask. regards, Patrick. PS: I'm using altsetting 6, which looks like this: I: If#= 0 Alt= 6 #EPs= 3 Cls=ff(vend.) Sub=01 Prot=01 Driver=(none) E: Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=82(I) Atr=01(Isoc) MxPS=2820 Ivl=125us --- This SF.Net email is sponsored by Yahoo. Introducing Yahoo! Search Developer Network - Create apps using Yahoo! Search APIs Find out how you can build Yahoo! directly into your own Applications - visit http://developer.yahoo.net/?fr=offad-ysdn-ostg-q22005 ___ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
[linux-usb-devel] Re: AverTV STUDIO II
Am Dienstag, 31. Mai 2005 23:28 schrieb Green Brain: I cannot use my USB 2.0 TV cart under (SuSE) Linux. The BTTV does not found the device. If somebody know this card please help me! (I use a Clevo notebook.) Thanks in advance! Which drivers have you tried? Please provide /proc/bus/usb/devices Regards Oliver --- This SF.Net email is sponsored by Yahoo. Introducing Yahoo! Search Developer Network - Create apps using Yahoo! Search APIs Find out how you can build Yahoo! directly into your own Applications - visit http://developer.yahoo.net/?fr=offad-ysdn-ostg-q22005 ___ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
Re: [linux-usb-devel] Re: [BUG] oops while completing async USB via usbdevio
On Tue, May 31, 2005 at 11:53:24AM -0700, David Brownell wrote: I'm still hoping that one of the folk who want make an interesting and useful contribution to Linux will take the hint. It goes slowly. :) I've pondered about three times whether to start or not. I'd rather not, since I'm already having problems keeping up with all my other projects :( meanwhile, the current usbfs aio handling is the only way how to deal with delivery of interrupt pipe URB's to userspace drivers. Other than tying up the file descriptor with a blocking read, that is. you're probably using that same file descriptor for reading/writing from/to bulk endpoints at the same time. I don't see how a 'blocking read' would help. Wouldn't it help to associate the URB with the file (instaed of the task), and then send the signal to any task that still has opened the file? I'm willing to hack up a patch, if this is considered a sane fix. Sounds reasonable, except that not all such tasks will want the signal. Though I guess the infrastructure to filter the signal out already exists, so the main missing piece is that urb-to-file binding. Ok, I'll get something coded shortly. -- - Harald Welte [EMAIL PROTECTED] http://gnumonks.org/ Privacy in residential applications is a desirable marketing option. (ETSI EN 300 175-7 Ch. A6) pgpa23CcYuLPZ.pgp Description: PGP signature
[linux-usb-devel] Stuck control URBs on some APC UPSes
Hi All, I'm the USB driver maintainer for the Apcupsd project and I currently have 2 users (cc:ed) who are experiencing lockups (apcupsd hangs, usually in an unkillable state) on particlar model UPSes after anywhere from minutes to hours of uptime. I've debugged about as far as I can without enlisting some expert help. Details are below. Please feel free to ask for more info or experimentation if it will be useful. Thanks in advance for your help! --Adam Background Apcupsd uses the hiddev driver for userspace access to HID compatible UPSes. The device node is monitored for events caused by interrupt transfers (which tend to happen every 5 seconds or so) and generates some control transfers of its own to poll various feature reports. Problem After some period of time (minutes to hours), the BackUPS CS 650 and BackUPS BR 800 models cease to respond to control transfers. Based on HID debug I can see that a control transfer is sent by apcupsd but a response never comes back. hid-core.c complains timeout waiting for ctrl or out queue to clear. After that, no further control transfers go thru, instead the timeout error repeats. Interrupt transfers continue to be processed every 6 seconds as expected. (See dmesg log snippet below). Eventually, the timeout error is joined by a control queue full error as well. Hardware/Software Details There are so few commonalities between the 2 systems experiencing problems it's very hard to pin down the source. The breakdown is as follows: One user has an OHCI based system (AMD-768) and the other has UHCI (802801EB/ER). Both exhibit the lockup with identical symptoms, which would seem to rule out a low-level HCD problem. CS650 and BR800 UPSes exhibit the lockup behavior. RS1000 and BF350 models do not lock up when connected to the very same systems. (So clearly this is a UPS-specific problem, and it wouldn't be the first UPS firmware bug we've seen, but since Windows doesn't exhibit the problem APC denies there's anything wrong.) Both users have tried different kernels up to and including 2.6.11.x, as well as BIOS upgrades, etc. dmesg Log (annotated): # First we see a few batches of interrupt transfers, every 4-5 seconds May 18 16:37:16 jesus kernel: drivers/usb/input/hid-core.c: report (size 3) (numbered) May 18 16:37:16 jesus kernel: drivers/usb/input/hid-core.c: report 13 (size 2) = 8a 04 May 18 16:37:16 jesus kernel: drivers/usb/input/hid-core.c: report (size 2) (numbered) May 18 16:37:16 jesus kernel: drivers/usb/input/hid-core.c: report 12 (size 1) = 64 May 18 16:37:16 jesus kernel: drivers/usb/input/hid-core.c: report (size 3) (numbered) May 18 16:37:16 jesus kernel: drivers/usb/input/hid-core.c: report 7 (size 2) = 0c 00 May 18 16:37:16 jesus kernel: drivers/usb/input/hid-core.c: report (size 2) (numbered) May 18 16:37:16 jesus kernel: drivers/usb/input/hid-core.c: report 22 (size 1) = 06 May 18 16:37:20 jesus kernel: drivers/usb/input/hid-core.c: report (size 3) (numbered) May 18 16:37:20 jesus kernel: drivers/usb/input/hid-core.c: report 13 (size 2) = 8a 04 May 18 16:37:20 jesus kernel: drivers/usb/input/hid-core.c: report (size 2) (numbered) May 18 16:37:20 jesus kernel: drivers/usb/input/hid-core.c: report 12 (size 1) = 64 May 18 16:37:20 jesus kernel: drivers/usb/input/hid-core.c: report (size 3) (numbered) May 18 16:37:20 jesus kernel: drivers/usb/input/hid-core.c: report 7 (size 2) = 0c 00 May 18 16:37:20 jesus kernel: drivers/usb/input/hid-core.c: report (size 2) (numbered) May 18 16:37:20 jesus kernel: drivers/usb/input/hid-core.c: report 22 (size 1) = 06 May 18 16:37:25 jesus kernel: drivers/usb/input/hid-core.c: report (size 3) (numbered) May 18 16:37:25 jesus kernel: drivers/usb/input/hid-core.c: report 13 (size 2) = 8a 04 May 18 16:37:25 jesus kernel: drivers/usb/input/hid-core.c: report (size 2) (numbered) May 18 16:37:25 jesus kernel: drivers/usb/input/hid-core.c: report 12 (size 1) = 64 May 18 16:37:25 jesus kernel: drivers/usb/input/hid-core.c: report (size 3) (numbered) May 18 16:37:25 jesus kernel: drivers/usb/input/hid-core.c: report 7 (size 2) = 0c 00 May 18 16:37:25 jesus kernel: drivers/usb/input/hid-core.c: report (size 2) (numbered) May 18 16:37:25 jesus kernel: drivers/usb/input/hid-core.c: report 22 (size 1) = 06 May 18 16:37:27 jesus kernel: drivers/usb/input/hid-core.c: report (size 3) (numbered) May 18 16:37:27 jesus kernel: drivers/usb/input/hid-core.c: report 13 (size 2) = 74 04 May 18 16:37:27 jesus kernel: hid-debug: input Battery System.RunTimeToEmpty = 1140 # Now apcupsd submits a few control URBs to poll some reports May 18 16:37:27 jesus kernel: drivers/usb/input/hid-core.c: submitting ctrl urb: Get_Report wValue=0x0307 wIndex=0x wLength=3 May 18 16:37:27 jesus kernel: drivers/usb/input/hid-core.c: report (size 3) (numbered) May 18 16:37:27 jesus kernel: drivers/usb/input/hid-core.c: report 7 (size 2) = 0c 00 May 18 16:37:27 jesus kernel: drivers/usb/input/hid-core.c:
Re: [linux-usb-devel] usb bluetooth Dongle and linux usb bluetooth tty driver
On Tuesday 31 May 2005 4:17 am, Annamalai Prakash (Tata Elxsi) wrote: I am tring to communicate with my Bluetooth USB dongle (BT5000U from silicom Wave) through Linux USB Bluetooth TTY driver. I am using 2.4.19-rmk7-ds3 arm Kernel. Try 2.6.12-rc5 or so ... it's got more current ARM, PCI, USB, and Bluetooth code; and is altogether a much more reasonable basis for asking questions. 2.4.19 is ancient. I wish I understood why folk think that they can get support for old ARM kernels on the USB list when even the folk on the ARM list have stopped supporting those for over a year now. - Dave --- This SF.Net email is sponsored by Yahoo. Introducing Yahoo! Search Developer Network - Create apps using Yahoo! Search APIs Find out how you can build Yahoo! directly into your own Applications - visit http://developer.yahoo.net/?fr=offad-ysdn-ostg-q22005 ___ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
Re: [linux-usb-devel] Isochronous URBs
On Tuesday 31 May 2005 1:50 pm, Patrick Boettcher wrote: Hi Alan, Hi David, thanks for your answers. On Mon, 30 May 2005, David Brownell wrote: It does however strongly suggest you weren't using isochronous endpoints, since 3strikes is not an ISO error. :) You were right, this error was caused by a copy'n'paste mistake *slap*... However, I have a new problem. Since transfers are now taking place (URBs are submitted and received) every iso_frame_desc has status -71 (-EPROTO) instead of being successful Was that _with_ the patch I pointed out to you? Given this is high speed, the conclusion is that you're getting some kind of transaction error (XACTERR) on each request. Have a look at the EHCI spec to see why you might be getting those. - Dave --- This SF.Net email is sponsored by Yahoo. Introducing Yahoo! Search Developer Network - Create apps using Yahoo! Search APIs Find out how you can build Yahoo! directly into your own Applications - visit http://developer.yahoo.net/?fr=offad-ysdn-ostg-q22005 ___ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
[linux-usb-devel] Driver for MCS7780 USB-IrDA bridge chip
Greetings Everyone. Greg told me that you (the lists) might be interested in this so I should send the announcement to you. The new, shiny 0.2alpha.3 release is ready to test it, smash it and blow it off ;-) The major improvement is support for other SIR speeds: 2400 through 115200 bps. Well I think they will work but frankly speaking I haven't tested them because my Handspring always negotiates the highest rate. I am sure there is quite a lot of bugs left so *please* test it as much as you can. I am realy convinced that performance may be a really big problem so I will appreciate any comments on the design. Source tarball is available at: http://www.ee.pw.edu.pl/~stelmacl/mcs7780-0.2alpha.3.tar.bz2 http://www.ee.pw.edu.pl/~stelmacl/mcs7780-0.2alpha.3.tar.bz2.asc (sig) or http://stlman.fm.interia.pl/mcs7780-0.2alpha.3.tar.bz2 http://stlman.fm.interia.pl/mcs7780-0.2alpha.3.tar.bz2.asc (sig) To answer your question: I will make a patch but let me first be sure it is usable and at least beta-stable. You can help ;-) This is the announcement of the 0.1alpha.1 version: http://lkml.org/lkml/2005/5/25/47 Always yours. -- Byo mi bardzo mio.Trzecia pospolita klska, [...] ukasz Ju nie katolicka lecz zodziejska. (c)PP signature.asc Description: OpenPGP digital signature
[linux-usb-devel] Re: Stuck control URBs on some APC UPSes
On Tue, 31 May 2005 20:12:53 -0400, Adam Kropelin [EMAIL PROTECTED] wrote: Both users have tried different kernels up to and including 2.6.11.x, as well as BIOS upgrades, etc. This looks like a perfect opportunity to excercise usbmon in order to weed out interference from udev or HAL. I am concerned that the device receives overlapping control requests or some other unknown transfer gets into the picture. To be sure, I am pushing my usbmon agenda here, but perhaps it will be advantageous for you too. If you agree, please get me a raw trace as described in Documentation/usb/usbmon.txt. It is not easily readable and good tools are not available, unfortunately. I'll interpret and annotate it. -- Pete --- This SF.Net email is sponsored by Yahoo. Introducing Yahoo! Search Developer Network - Create apps using Yahoo! Search APIs Find out how you can build Yahoo! directly into your own Applications - visit http://developer.yahoo.net/?fr=offad-ysdn-ostg-q22005 ___ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
Re: [linux-usb-devel] Zaurus SL6000-L
On Thu, 26 May 2005, David Brownell wrote: On Thursday 26 May 2005 8:21 pm, [EMAIL PROTECTED] wrote: Ever since 2.6.11 I can't get usbnet to load and recognize my Zaurus I see I'm not the only one who's seen some change, but I wonder if it can be put back the way it was since it worked fine back then. :-) ( I recognize that the USB interface is not right, but it's not like I can fix _that_). does 2.6.12-rc5 behave for you? Nope. It does the same thing. May 31 17:37:30 localhost kernel: [4294667.296000] Linux version 2.6.12-rc5 ([EMAIL PROTECTED]) (gcc version 3.4.3 20050227 (Red Hat 3.4.3-22.fc3)) #2 Tue May 31 08:08:24 CDT 2005 ... May 31 17:42:15 localhost kernel: [4294985.226000] usb 3-1: new full speed USB device using ohci_hcd and address 3 May 31 17:42:15 localhost kernel: [4294985.357000] usb 3-1: unsupported MDLM descriptors But no usbnet. If I add the device (0x04dd 0x9032) to the usb.distmap it does load the usbnet module. However, the usbnet module never attaches itself to that device. Loading usbnet manually also doesn't make it see the Zaurus. What do I do to get debug output? How else can I help with this? Thanks, Gerry -- [EMAIL PROTECTED] gerry skerbitz --- This SF.Net email is sponsored by Yahoo. Introducing Yahoo! Search Developer Network - Create apps using Yahoo! Search APIs Find out how you can build Yahoo! directly into your own Applications - visit http://developer.yahoo.net/?fr=offad-ysdn-ostg-q22005 ___ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
Re: [linux-usb-devel] Zaurus SL6000-L
On Tuesday 31 May 2005 6:45 pm, [EMAIL PROTECTED] wrote: On Thu, 26 May 2005, David Brownell wrote: On Thursday 26 May 2005 8:21 pm, [EMAIL PROTECTED] wrote: Ever since 2.6.11 I can't get usbnet to load and recognize my Zaurus I see I'm not the only one who's seen some change, but I wonder if it can be put back the way it was since it worked fine back then. :-) ( I recognize that the USB interface is not right, but it's not like I can fix _that_). does 2.6.12-rc5 behave for you? Nope. It does the same thing. May 31 17:37:30 localhost kernel: [4294667.296000] Linux version 2.6.12-rc5 ([EMAIL PROTECTED]) (gcc version 3.4.3 20050227 (Red Hat 3.4.3-22.fc3)) #2 Tue May 31 08:08:24 CDT 2005 ... May 31 17:42:15 localhost kernel: [4294985.226000] usb 3-1: new full speed USB device using ohci_hcd and address 3 May 31 17:42:15 localhost kernel: [4294985.357000] usb 3-1: unsupported MDLM descriptors And with CONFIG_USB_DEBUG, what _more_ information does it give? But no usbnet. If I add the device (0x04dd 0x9032) to the usb.distmap it does load the usbnet module. However, the usbnet module never attaches itself to that device. Loading usbnet manually also doesn't make it see the Zaurus. What do I do to get debug output? How else can I help with this? Thanks, Gerry -- [EMAIL PROTECTED] gerry skerbitz --- This SF.Net email is sponsored by Yahoo. Introducing Yahoo! Search Developer Network - Create apps using Yahoo! Search APIs Find out how you can build Yahoo! directly into your own Applications - visit http://developer.yahoo.net/?fr=offad-ysdn-ostg-q22005 ___ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
Re: [linux-usb-devel] Zaurus SL6000-L
On Tue, 31 May 2005, David Brownell wrote: On Tuesday 31 May 2005 6:45 pm, [EMAIL PROTECTED] wrote: On Thu, 26 May 2005, David Brownell wrote: On Thursday 26 May 2005 8:21 pm, [EMAIL PROTECTED] wrote: Ever since 2.6.11 I can't get usbnet to load and recognize my Zaurus I see I'm not the only one who's seen some change, but I wonder if it can be put back the way it was since it worked fine back then. :-) ( I recognize that the USB interface is not right, but it's not like I can fix _that_). does 2.6.12-rc5 behave for you? Nope. It does the same thing. May 31 17:37:30 localhost kernel: [4294667.296000] Linux version 2.6.12-rc5 ([EMAIL PROTECTED]) (gcc version 3.4.3 20050227 (Red Hat 3.4.3-22.fc3)) #2 Tue May 31 08:08:24 CDT 2005 ... May 31 17:42:15 localhost kernel: [4294985.226000] usb 3-1: new full speed USB device using ohci_hcd and address 3 May 31 17:42:15 localhost kernel: [4294985.357000] usb 3-1: unsupported MDLM descriptors And with CONFIG_USB_DEBUG, what _more_ information does it give? May 31 23:48:23 localhost kernel: [4294739.446000] usb 3-1: new full speed USB device using ohci_hcd and address 2 May 31 23:48:28 localhost kernel: [4294744.556000] usb 3-1: Product: SL-6000 May 31 23:48:28 localhost kernel: [4294744.556000] usb 3-1: Manufacturer: Sharp May 31 23:48:30 localhost kernel: [4294746.062000] usb 3-1: unsupported MDLM descriptors May 31 23:48:30 localhost kernel: [4294746.062000] usbcore: registered new driver usbnet And when I try to use it: ifconfig usb0 usb0: error fetching interface information: Device not found This all works with 2.6.10 with the same setup. That doesn't seem like much debug info. How do I get more? -- [EMAIL PROTECTED] gerry skerbitz --- This SF.Net email is sponsored by Yahoo. Introducing Yahoo! Search Developer Network - Create apps using Yahoo! Search APIs Find out how you can build Yahoo! directly into your own Applications - visit http://developer.yahoo.net/?fr=offad-ysdn-ostg-q22005 ___ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
[linux-usb-devel] [PATCH] USB: add sl811_cs support
[PATCH] USB: add sl811_cs support This adds support for a CF-card USB Host adapter, the Ratoc REX-CFU1U, by wrapping a PCMCIA driver around the existing sl811-hcd platform driver. This CF card is especially useful for PDAs, which currently tend to have no other solution for USB host capability. From: Botond Botyanszki [EMAIL PROTECTED] Signed-off-by: David Brownell [EMAIL PROTECTED] Signed-off-by: Greg Kroah-Hartman [EMAIL PROTECTED] --- commit c6de2b64eb575a3f9326969ec5fcdc6032b38e42 tree c943830789f5039933d1583415ee58156a19c413 parent 1e9a47b62f7daf5a94fdd74a94dd4e076f44909a author David Brownell [EMAIL PROTECTED] Thu, 26 May 2005 05:55:55 -0700 committer Greg KH [EMAIL PROTECTED] Tue, 31 May 2005 14:13:58 -0700 drivers/usb/host/Kconfig| 11 + drivers/usb/host/Makefile |1 drivers/usb/host/sl811_cs.c | 442 +++ 3 files changed, 454 insertions(+), 0 deletions(-) diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig --- a/drivers/usb/host/Kconfig +++ b/drivers/usb/host/Kconfig @@ -124,3 +124,14 @@ config USB_SL811_HCD To compile this driver as a module, choose M here: the module will be called sl811-hcd. +config USB_SL811_CS + tristate CF/PCMCIA support for SL811HS HCD + depends on USB_SL811_HCD PCMCIA + default N + help + Wraps a PCMCIA driver around the SL811HS HCD, supporting the RATOC + REX-CFU1U CF card (often used with PDAs). If unsure, say N. + + To compile this driver as a module, choose M here: the + module will be called sl811_cs. + diff --git a/drivers/usb/host/Makefile b/drivers/usb/host/Makefile --- a/drivers/usb/host/Makefile +++ b/drivers/usb/host/Makefile @@ -7,4 +7,5 @@ obj-$(CONFIG_USB_EHCI_HCD) += ehci-hcd.o obj-$(CONFIG_USB_OHCI_HCD) += ohci-hcd.o obj-$(CONFIG_USB_UHCI_HCD) += uhci-hcd.o obj-$(CONFIG_USB_SL811_HCD)+= sl811-hcd.o +obj-$(CONFIG_USB_SL811_CS) += sl811_cs.o obj-$(CONFIG_ETRAX_ARCH_V10) += hc_crisv10.o diff --git a/drivers/usb/host/sl811_cs.c b/drivers/usb/host/sl811_cs.c new file mode 100644 --- /dev/null +++ b/drivers/usb/host/sl811_cs.c @@ -0,0 +1,442 @@ +/* + * PCMCIA driver for SL811HS (as found in REX-CFU1U) + * Filename: sl811_cs.c + * Author: Yukio Yamamoto + * + * Port to sl811-hcd and 2.6.x by + *Botond Botyanszki [EMAIL PROTECTED] + *Simon Pickering + * + * Last update: 2005-05-12 + */ + +#include linux/kernel.h +#include linux/module.h +#include linux/init.h +#include linux/sched.h +#include linux/ptrace.h +#include linux/slab.h +#include linux/string.h +#include linux/timer.h +#include linux/ioport.h + +#include pcmcia/version.h +#include pcmcia/cs_types.h +#include pcmcia/cs.h +#include pcmcia/cistpl.h +#include pcmcia/cisreg.h +#include pcmcia/ds.h + +#include linux/usb_sl811.h + +MODULE_AUTHOR(Botond Botyanszki); +MODULE_DESCRIPTION(REX-CFU1U PCMCIA driver for 2.6); +MODULE_LICENSE(GPL); + + +/**/ +/* MACROS */ +/**/ + +#if defined(DEBUG) || defined(CONFIG_USB_DEBUG) || defined(PCMCIA_DEBUG) + +static int pc_debug = 0; +module_param(pc_debug, int, 0644); + +#define DBG(n, args...) if (pc_debug(n)) printk(KERN_DEBUG sl811_cs: args) + +#else +#define DBG(n, args...) do{}while(0) +#endif /* no debugging */ + +#define INFO(args...) printk(KERN_INFO sl811_cs: args) + +#define INT_MODULE_PARM(n, v) static int n = v; module_param(n, int, 0444) + +#define CS_CHECK(fn, ret) \ + do { \ + last_fn = (fn); \ + if ((last_ret = (ret)) != 0) \ + goto cs_failed; \ + } while (0) + +/**/ +/* VARIABLES */ +/**/ + +static const char driver_name[DEV_NAME_LEN] = sl811_cs; + +static dev_link_t *dev_list = NULL; + +static int irq_list[4] = { -1 }; +static int irq_list_count; + +module_param_array(irq_list, int, irq_list_count, 0444); + +INT_MODULE_PARM(irq_mask, 0xdeb8); + +typedef struct local_info_t { + dev_link_t link; + dev_node_t node; +} local_info_t; + +/**/ + +static void release_platform_dev(struct device * dev) +{ + DBG(0, sl811_cs platform_dev release\n); + dev-parent = NULL; +} + +static struct sl811_platform_data platform_data = { + .potpg = 100, + .power = 50, /* == 100mA */ + // .reset = ... FIXME: invoke CF reset on the card +}; + +static struct resource resources[] = { + [0] = { + .flags = IORESOURCE_IRQ, + }, + [1] = { +
[linux-usb-devel] [PATCH] USB: ftdi_sio: new PID for ELV UM100
[PATCH] USB: ftdi_sio: new PID for ELV UM100 ftdi_sio: Add PID for ELV USB Module UM100. PID sent by Armin Laugher. Signed-off-by: Ian Abbott [EMAIL PROTECTED] Signed-off-by: Greg Kroah-Hartman [EMAIL PROTECTED] --- commit 47900743a56dc41a053107d64054aca3e1b42157 tree ffd15d07d454baf4cf1154c7f1ea29fe62574e7c parent c6de2b64eb575a3f9326969ec5fcdc6032b38e42 author Ian Abbott [EMAIL PROTECTED] Tue, 17 May 2005 15:12:13 +0100 committer Greg KH [EMAIL PROTECTED] Tue, 31 May 2005 14:13:59 -0700 drivers/usb/serial/ftdi_sio.c |3 +++ drivers/usb/serial/ftdi_sio.h |2 ++ 2 files changed, 5 insertions(+), 0 deletions(-) diff --git a/drivers/usb/serial/ftdi_sio.c b/drivers/usb/serial/ftdi_sio.c --- a/drivers/usb/serial/ftdi_sio.c +++ b/drivers/usb/serial/ftdi_sio.c @@ -364,6 +364,7 @@ static struct usb_device_id id_table_8U2 { USB_DEVICE_VER(FTDI_VID, PROTEGO_SPECIAL_3, 0, 0x3ff) }, { USB_DEVICE_VER(FTDI_VID, PROTEGO_SPECIAL_4, 0, 0x3ff) }, { USB_DEVICE_VER(FTDI_VID, FTDI_ELV_UO100_PID, 0, 0x3ff) }, + { USB_DEVICE_VER(FTDI_VID, FTDI_ELV_UM100_PID, 0, 0x3ff) }, { USB_DEVICE_VER(FTDI_VID, INSIDE_ACCESSO, 0, 0x3ff) }, { USB_DEVICE_VER(INTREPID_VID, INTREPID_VALUECAN_PID, 0, 0x3ff) }, { USB_DEVICE_VER(INTREPID_VID, INTREPID_NEOVI_PID, 0, 0x3ff) }, @@ -475,6 +476,7 @@ static struct usb_device_id id_table_FT2 { USB_DEVICE_VER(FTDI_VID, FTDI_GUDEADS_E88E_PID, 0x400, 0x) }, { USB_DEVICE_VER(FTDI_VID, FTDI_GUDEADS_E88F_PID, 0x400, 0x) }, { USB_DEVICE_VER(FTDI_VID, FTDI_ELV_UO100_PID, 0x400, 0x) }, + { USB_DEVICE_VER(FTDI_VID, FTDI_ELV_UM100_PID, 0x400, 0x) }, { USB_DEVICE_VER(FTDI_VID, LINX_SDMUSBQSS_PID, 0x400, 0x) }, { USB_DEVICE_VER(FTDI_VID, LINX_MASTERDEVEL2_PID, 0x400, 0x) }, { USB_DEVICE_VER(FTDI_VID, LINX_FUTURE_0_PID, 0x400, 0x) }, @@ -618,6 +620,7 @@ static struct usb_device_id id_table_com { USB_DEVICE_VER(FTDI_VID, FTDI_GUDEADS_E88E_PID, 0x400, 0x) }, { USB_DEVICE_VER(FTDI_VID, FTDI_GUDEADS_E88F_PID, 0x400, 0x) }, { USB_DEVICE(FTDI_VID, FTDI_ELV_UO100_PID) }, + { USB_DEVICE(FTDI_VID, FTDI_ELV_UM100_PID) }, { USB_DEVICE_VER(FTDI_VID, LINX_SDMUSBQSS_PID, 0x400, 0x) }, { USB_DEVICE_VER(FTDI_VID, LINX_MASTERDEVEL2_PID, 0x400, 0x) }, { USB_DEVICE_VER(FTDI_VID, LINX_FUTURE_0_PID, 0x400, 0x) }, diff --git a/drivers/usb/serial/ftdi_sio.h b/drivers/usb/serial/ftdi_sio.h --- a/drivers/usb/serial/ftdi_sio.h +++ b/drivers/usb/serial/ftdi_sio.h @@ -144,6 +144,8 @@ /* ELV USB Module UO100 (PID sent by Stefan Frings) */ #define FTDI_ELV_UO100_PID 0xFB58 /* Product Id */ +/* ELV USB Module UM100 (PID sent by Arnim Laeuger) */ +#define FTDI_ELV_UM100_PID 0xFB5A /* Product Id */ /* * Definitions for ID TECH (www.idt-net.com) devices --- This SF.Net email is sponsored by Yahoo. Introducing Yahoo! Search Developer Network - Create apps using Yahoo! Search APIs Find out how you can build Yahoo! directly into your own Applications - visit http://developer.yahoo.net/?fr=offad-ysdn-ostg-q22005 ___ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
[linux-usb-devel] [GIT PATCH] USB bugfixes for 2.6.12-rc5
Here are 4 patches for the 2.6.12-rc4 tree that fix some USB bugs. All of these patches have been in the past few -mm releases. Please pull from: rsync://rsync.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6.git/ Full patches will be sent to the linux-usb-devel mailing list, if anyone wants to see them. thanks, greg k-h drivers/usb/host/Kconfig| 11 drivers/usb/host/Makefile |1 drivers/usb/host/sl811-hcd.c| 146 +++-- drivers/usb/host/sl811_cs.c | 442 drivers/usb/serial/ftdi_sio.c |3 drivers/usb/serial/ftdi_sio.h |2 drivers/usb/serial/usb-serial.c | 20 - 7 files changed, 550 insertions(+), 75 deletions(-) --- Botond Botyanszki: o USB: add sl811_cs support David Brownell: o USB: sl811-hcd fixes Greg Kroah-Hartman: o USB: fix usb-serial generic initialization Ian Abbott: o USB: ftdi_sio: new PID for ELV UM100 --- This SF.Net email is sponsored by Yahoo. Introducing Yahoo! Search Developer Network - Create apps using Yahoo! Search APIs Find out how you can build Yahoo! directly into your own Applications - visit http://developer.yahoo.net/?fr=offad-ysdn-ostg-q22005 ___ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
[linux-usb-devel] [PATCH] USB: fix usb-serial generic initialization
[PATCH] USB: fix usb-serial generic initialization At module load time, if a generic device is found, the tty information for the device is not set up properly (as the tty structures aren't initialized yet.) This can cause big problems for things like udev. This patch fixes this. Thanks to Kay Sievers for the original patch for this problem. Signed-off-by: Greg Kroah-Hartman [EMAIL PROTECTED] --- commit 06299db3e7f857a4985cf70dc1a5049ec12482c1 tree 115792ba36a9b4fe1f57d849c4f9ac2d0e80a90f parent 47900743a56dc41a053107d64054aca3e1b42157 author Greg Kroah-Hartman [EMAIL PROTECTED] Thu, 26 May 2005 05:55:55 -0700 committer Greg KH [EMAIL PROTECTED] Tue, 31 May 2005 14:13:59 -0700 drivers/usb/serial/usb-serial.c | 20 ++-- 1 files changed, 10 insertions(+), 10 deletions(-) diff --git a/drivers/usb/serial/usb-serial.c b/drivers/usb/serial/usb-serial.c --- a/drivers/usb/serial/usb-serial.c +++ b/drivers/usb/serial/usb-serial.c @@ -1297,13 +1297,6 @@ static int __init usb_serial_init(void) goto exit_bus; } - /* register the generic driver, if we should */ - result = usb_serial_generic_register(debug); - if (result 0) { - err(%s - registering generic driver failed, __FUNCTION__); - goto exit_generic; - } - usb_serial_tty_driver-owner = THIS_MODULE; usb_serial_tty_driver-driver_name = usbserial; usb_serial_tty_driver-devfs_name = usb/tts/; @@ -1329,17 +1322,24 @@ static int __init usb_serial_init(void) goto exit_tty; } + /* register the generic driver, if we should */ + result = usb_serial_generic_register(debug); + if (result 0) { + err(%s - registering generic driver failed, __FUNCTION__); + goto exit_generic; + } + info(DRIVER_DESC DRIVER_VERSION); return result; +exit_generic: + usb_deregister(usb_serial_driver); + exit_tty: tty_unregister_driver(usb_serial_tty_driver); exit_reg_driver: - usb_serial_generic_deregister(); - -exit_generic: bus_unregister(usb_serial_bus_type); exit_bus: --- This SF.Net email is sponsored by Yahoo. Introducing Yahoo! Search Developer Network - Create apps using Yahoo! Search APIs Find out how you can build Yahoo! directly into your own Applications - visit http://developer.yahoo.net/?fr=offad-ysdn-ostg-q22005 ___ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
[linux-usb-devel] [PATCH] USB: sl811-hcd fixes
[PATCH] USB: sl811-hcd fixes Various fixes to the sl811-hcd driver: * Fix small glitches that crept in during recent evolution of usbcore's hcd glue layer, coupling endpoint state records to usbcore and active urbs. (As noted by folk whose boards weren't stuck on 2.6.9 kernels...) * Cope with various system-specific issues: - Some configurations (e.g. a CF-card uses this chip) have iospace addresses for the two registers, rather than memory mapped ones. - Some configurations do interesting things with IRQs; maybe the line is shared, or it doesn't support level triggering. - Not all boards can drive the chip reset line in software. * Address a potential race during unlinking. * Tweak probe/remove section info to handle the case where this segment of a platform bus is hotpluggable (e.g. CF card). (The basic problem is that CONFIG_HOTPLUG is global, which is wrong since not all busses can hotplug even on hotplug-friendly systems...) Also export the driver, so that the CF driver can depend on it. Also removed some annoying end-of-line whitespace. Signed-off-by: David Brownell [EMAIL PROTECTED] Signed-off-by: Greg Kroah-Hartman [EMAIL PROTECTED] --- commit 1e9a47b62f7daf5a94fdd74a94dd4e076f44909a tree 3c279e2c896ea0b56d6d5694e643f19be88c8740 parent 2e3e80c2b75e3815a0160cbd23d4fdb767d66b35 author David Brownell [EMAIL PROTECTED] Thu, 26 May 2005 05:55:55 -0700 committer Greg KH [EMAIL PROTECTED] Tue, 31 May 2005 14:13:58 -0700 drivers/usb/host/sl811-hcd.c | 146 +++--- 1 files changed, 81 insertions(+), 65 deletions(-) diff --git a/drivers/usb/host/sl811-hcd.c b/drivers/usb/host/sl811-hcd.c --- a/drivers/usb/host/sl811-hcd.c +++ b/drivers/usb/host/sl811-hcd.c @@ -2,8 +2,8 @@ * SL811HS HCD (Host Controller Driver) for USB. * * Copyright (C) 2004 Psion Teklogix (for NetBook PRO) - * Copyright (C) 2004 David Brownell - * + * Copyright (C) 2004-2005 David Brownell + * * Periodic scheduling is based on Roman's OHCI code * Copyright (C) 1999 Roman Weissgaerber * @@ -15,7 +15,7 @@ * For documentation, see the SL811HS spec and the SL811HS Embedded Host * document (providing significant pieces missing from that spec); plus * the SL811S spec if you want peripheral side info. - */ + */ /* * Status: Passed basic stress testing, works with hubs, mice, keyboards, @@ -67,7 +67,7 @@ MODULE_DESCRIPTION(SL811HS USB Host Controller Driver); MODULE_LICENSE(GPL); -#define DRIVER_VERSION 15 Dec 2004 +#define DRIVER_VERSION 19 May 2005 #ifndef DEBUG @@ -121,6 +121,10 @@ static void port_power(struct sl811 *sl8 /* reset as thoroughly as we can */ if (sl811-board sl811-board-reset) sl811-board-reset(hcd-self.controller); + else { + sl811_write(sl811, SL11H_CTLREG1, SL11H_CTL1MASK_SE0); + mdelay(20); + } sl811_write(sl811, SL11H_IRQ_ENABLE, 0); sl811_write(sl811, SL11H_CTLREG1, sl811-ctrl1); @@ -443,6 +447,7 @@ static void finish_request( spin_lock(urb-lock); if (urb-status == -EINPROGRESS) urb-status = status; + urb-hcpriv = NULL; spin_unlock(urb-lock); spin_unlock(sl811-lock); @@ -472,7 +477,7 @@ static void finish_request( if (*prev) *prev = ep-next; sl811-load[i] -= ep-load; - } + } ep-branch = PERIODIC_SIZE; sl811-periodic_count--; sl811_to_hcd(sl811)-self.bandwidth_allocated @@ -661,9 +666,9 @@ retry: #ifdef QUIRK2 /* this may no longer be necessary ... */ - if (irqstat == 0 ret == IRQ_NONE) { + if (irqstat == 0) { irqstat = checkdone(sl811); - if (irqstat /* irq != ~0 */ ) + if (irqstat) sl811-stat_lost++; } #endif @@ -722,7 +727,8 @@ retry: if (sl811-active_a) { sl811_write(sl811, SL811_EP_A(SL11H_HOSTCTLREG), 0); finish_request(sl811, sl811-active_a, - container_of(sl811-active_a-hep-urb_list.next, + container_of(sl811-active_a + -hep-urb_list.next, struct urb, urb_list), NULL, -ESHUTDOWN); sl811-active_a = NULL; @@ -731,7 +737,8 @@ retry: if (sl811-active_b) { sl811_write(sl811, SL811_EP_B(SL11H_HOSTCTLREG), 0); finish_request(sl811, sl811-active_b, - container_of(sl811-active_b-hep-urb_list.next, + container_of(sl811-active_b + -hep-urb_list.next, struct urb,