[linux-usb-devel] RE: Usb serial with power ON/OFF problem

2005-05-31 Thread Greg Lee
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

2005-05-31 Thread Harald Welte
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

2005-05-31 Thread Harald Welte
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

2005-05-31 Thread Harald Welte
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

2005-05-31 Thread Per Jessen
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

2005-05-31 Thread Phil Dibowitz
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

2005-05-31 Thread Matt HAMEAU
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

2005-05-31 Thread Annamalai Prakash (Tata Elxsi)
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

2005-05-31 Thread Oliver Neukum
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

2005-05-31 Thread Norbert Preining
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

2005-05-31 Thread Yi Liang

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

2005-05-31 Thread Jeroen Vreeken
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

2005-05-31 Thread Stuart MacDonald
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

2005-05-31 Thread gerard klaver
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

2005-05-31 Thread David Brownell
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

2005-05-31 Thread David Brownell
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

2005-05-31 Thread Stuart MacDonald
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

2005-05-31 Thread Adam Oldham
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

2005-05-31 Thread David Brownell
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

2005-05-31 Thread Eric Berg
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

2005-05-31 Thread Anssi Hannula

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

2005-05-31 Thread Alan Stern
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

2005-05-31 Thread Glenn Maynard
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

2005-05-31 Thread Patrick Boettcher

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

2005-05-31 Thread Oliver Neukum
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

2005-05-31 Thread Harald Welte
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

2005-05-31 Thread Adam Kropelin
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

2005-05-31 Thread David Brownell
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

2005-05-31 Thread David Brownell
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

2005-05-31 Thread Lukasz Stelmach
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

2005-05-31 Thread Pete Zaitcev
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

2005-05-31 Thread gsker

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

2005-05-31 Thread David Brownell
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

2005-05-31 Thread gsker

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

2005-05-31 Thread Greg KH
[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

2005-05-31 Thread Greg KH
[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

2005-05-31 Thread Greg KH
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

2005-05-31 Thread Greg KH
[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

2005-05-31 Thread Greg KH
[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,