Re: [linux-usb-devel] [PATCH] usb/hid: The HID Simple Driver Interface 0.4.0 documentation

2006-10-12 Thread Liyu
Signed-off-by: Liyu [EMAIL PROTECTED]

--- linux-2.6.18/Documentation/input/no-such.txt 1970-01-01
08:00:00.0 +0800
+++ linux-2.6.18/Documentation/input/simple-hid.txt 2006-10-12
09:34:42.0 +0800
@@ -0,0 +1,251 @@
+==
+HID device simple driver interface
+==
+
+
+Note
+
+
+ If you just begin to study from writing input device driver, please
see the
+input-programming.txt, I am afraid this is not you want, do not confuse
with the
+simple in this name.
+
+
+Version
+
+
+ This is the version 0.4.0
+
+--
+Overview
+--
+
+ Under standard HID device driver development means, we need to write
+one interrupt handler for each new HID device to report event to
+input subsystem. However, although the most of they can not merge into
+mainstream kernel tree, they have only some extended keys, e.g. many
+remote controllers. I think it seem break a fly on the wheel, which
+write one new interrupt handler for this reason.
+
+ The basic idea is reuse the interrupt handler in hid-core.c. so writing
+driver for new simple HID device will be more easier, quickly, and do not
+need touch hid core.
+
+ In essence, this interface just is some hooks in HID core.
+
+ The hid-simple.h include this API. But, defore use this interface, you
must
+include hid.h first.
+
+
+What's you will get from this interface.
+
+
+ Use me, you can:
+
+ 1. Write the driver of USB input device without write code take care of
+ details of setup and clear usage.
+ 2. A driver use this interface can be as a HID device input filter.
+ 3. Write USB force-feed driver without touch hid-input core. however, this
+ feature is confilct with HID_FF.
+
+ This interface can not support the more drivers handle one device at
same time
+yet. I can not sure if we really need this feature.
+
+
+The driver use this interface
+
+
+ So far, there are two drivers:
+ 1. MS Natural Ergonomic Keyboard 4000 driver. (usbnek4k.c)
+ 2. Betop BTP-2118 joystick force-feed driver. (btp2118.c)
+
+-
+Requires
+-
+
+ Before use this interface, you must turn on these kernel configuration
+items:
+
+ CONFIG_HID_SIMPLE : HID simple driver interface
+ CONFIG_HID_SIMPLE_FF : HID simple driver interface force feedback support
+
+ Note: You can see the latter only if you turn off CONFIG_HID_FF and turn
+on CONFIG_HID_SIMPLE.
+
+--
+Register and unregister
+--
+
+1. Register a simple driver.
+
+ int hidinput_register_simple_driver(struct hidinput_simple_driver *simple)
+
+ Like any driver register function, it register your driver to kernel,
+when the chance that match device come, your driver can probe it. At
least, you
+must fill the member of parameter simple : name.
+ Return 0 mean register successfully. elsewise mean there have some
+failures in register process.
+ So far, this function only can return 0 and -EINVAL.
+ When you driver matched one device, it will reregister it into input
+subsystem (see the function hidinput_reconnect_core(), if you want).
+
+2. Unregister a simple driver.
+
+ void hidinput_unregister_simple_driver(struct hidinput_simple_driver
*simple)
+
+ Like any driver register function, it clean your driver from kernel, and
+in this process, your driver will disconnect any device which it
matched. However,
+it do not free your memory of driver structure, that's your task.
+ This may reregister the device into input subsystem (see the function
+hidinput_reconnect_core(), if you want).
+
+--
+Usage
+--
+
+ Each simple driver have one data structure hidinput_simple_driver:
+
+struct hidinput_simple_driver {
+ /*
+ * The members for implement only are ignored here,
+ * please do not depend on them
+ */
+ /* public */
+ struct module *owner;
+ char *name;
+ int (*connect)(struct hid_device *, struct hid_input *);
+ void (*disconnect)(struct hid_device *, struct hid_input *);
+ void (*setup_usage)(struct hid_field *, struct hid_usage *);
+ void (*clear_usage)(struct hid_field *, struct hid_usage *);
+ int (*pre_event)(const struct hid_device *, const struct hid_field *,
+ const struct hid_usage *, const __s32,
+ const struct pt_regs *regs);
+ int (*post_event)(const struct hid_device *, const struct hid_field *,
+ const struct hid_usage *, const __s32,
+ const struct pt_regs *regs);
+
+ int (*open)(struct input_dev *dev);
+ void (*close)(struct input_dev *dev);
+ int (*upload_effect)(struct input_dev *dev, struct ff_effect *effect);
+ int (*erase_effect)(struct input_dev *dev, int effect_id);
+ int (*flush)(struct input_dev *dev, struct file *file);
+ int (*ff_event)(struct input_dev *dev, int type, int 

[linux-usb-devel] [rfc]autosuspend in hid

2006-10-12 Thread Oliver Neukum
Hi,

I can't boot 2.6.19-rc1, so here's an incomplete version of autosuspend
for hid to invite comments on the basic approach.

Regards
Oliver

--- linux-2.6.19-rc1/drivers/usb/input/hid.h2006-10-05 04:57:05.0 
+0200
+++ gregtree/drivers/usb/input/hid.h2006-10-09 15:20:21.0 +0200
@@ -384,6 +384,9 @@
 #define HID_IN_RUNNING 3
 #define HID_RESET_PENDING  4
 #define HID_SUSPENDED  5
+#define HID_IN_IDLE6
+
+#define HID_IDLE_TIME  200*HZ
 
 struct hid_input {
struct list_head list;
@@ -408,9 +411,11 @@
 
unsigned long iofl; /* I/O 
flags (CTRL_RUNNING, OUT_RUNNING) */
struct timer_list io_retry; /* 
Retry timer */
+   struct timer_list idle_timer;   /* 
timer to determine idleness */
unsigned long stop_retry;   /* Time 
to give up, in jiffies */
unsigned int retry_delay;   /* 
Delay length in ms */
struct work_struct reset_work;  /* Task 
context for resets */
+   struct work_struct idle_work;   /* Task 
context for reporting idleness */
 
unsigned int bufsize;   /* URB 
buffer size */
 
--- linux-2.6.19-rc1/drivers/usb/input/hid-core.c   2006-10-05 
04:57:05.0 +0200
+++ gregtree/drivers/usb/input/hid-core.c   2006-10-09 15:23:09.0 
+0200
@@ -1009,6 +1009,8 @@
struct hid_device   *hid = urb-context;
int status;
 
+   /*data recieved, errors ignored as they are handled, device not idle */
+   clear_bit(HID_IN_IDLE, hid-iofl);
switch (urb-status) {
case 0: /* success */
hid-retry_delay = 0;
@@ -1365,9 +1367,15 @@
return result;
 }
 
+static void hid_check_idle(unsigned long arg);
+void hid_add_idle_timer(struct hid_device *hid);
+static void __hid_report_idle(void *d);
+
 int hid_open(struct hid_device *hid)
 {
-   ++hid-open;
+   clear_bit(HID_IN_IDLE, hid-iofl);
+   if (!hid-open++)
+   usb_autopm_get_interface(hid-intf);
if (hid_start_in(hid))
hid_io_error(hid);
return 0;
@@ -1375,8 +1383,10 @@
 
 void hid_close(struct hid_device *hid)
 {
-   if (!--hid-open)
+   if (!--hid-open) {
usb_kill_urb(hid-urbin);
+   set_bit(HID_IN_IDLE, hid-iofl);
+   }
 }
 
 #define USB_VENDOR_ID_PANJIT   0x134c
@@ -1971,12 +1981,16 @@
init_waitqueue_head(hid-wait);
 
INIT_WORK(hid-reset_work, hid_reset, hid);
+   INIT_WORK(hid-idle_work, __hid_report_idle, intf);
setup_timer(hid-io_retry, hid_retry_timeout, (unsigned long) hid);
+   setup_timer(hid-idle_timer, hid_check_idle, (unsigned long) hid);
 
spin_lock_init(hid-inlock);
spin_lock_init(hid-outlock);
spin_lock_init(hid-ctrllock);
 
+   set_bit(HID_IN_IDLE, hid-iofl);
+
hid-version = le16_to_cpu(hdesc-bcdHID);
hid-country = hdesc-bCountryCode;
hid-dev = dev;
@@ -2050,6 +2064,7 @@
usb_kill_urb(hid-urbctrl);
 
del_timer_sync(hid-io_retry);
+   del_timer_sync(hid-idle_timer);
flush_scheduled_work();
 
if (hid-claimed  HID_CLAIMED_INPUT)
@@ -2116,12 +2131,64 @@
 
usb_make_path(interface_to_usbdev(intf), path, 63);
 
+   if ((hid-claimed  HID_CLAIMED_INPUT)  !(hid-claimed  
HID_CLAIMED_HIDDEV))
+   hid_add_idle_timer(hid);
+
printk(: USB HID v%x.%02x %s [%s] on %s\n,
hid-version  8, hid-version  0xff, c, hid-name, path);
 
return 0;
 }
 
+void hid_add_idle_timer(struct hid_device *hid)
+{
+   hid-idle_timer.expires = jiffies + HID_IDLE_TIME;
+   add_timer(hid-idle_timer);
+}
+
+static void hid_mod_idle_timer(struct hid_device *hid)
+{
+   unsigned long flags;
+
+   spin_lock_irqsave(hid-inlock, flags);
+   if (usb_get_intfdata(hid-intf))
+   mod_timer(hid-idle_timer, jiffies + HID_IDLE_TIME);
+   spin_unlock_irqrestore(hid-inlock, flags);
+}
+
+static void __hid_report_idle(void *d)
+{
+   struct usb_interface *intf = d;
+
+   usb_autopm_put_interface(intf);
+}
+
+static void hid_report_idle(struct hid_device *hid)
+{
+   struct usb_interface *intf = hid-intf;
+   unsigned long flags;
+
+   spin_lock_irqsave(hid-inlock, flags);
+   if (!test_bit(HID_SUSPENDED, hid-iofl))
+   if (usb_get_intfdata(intf))
+   schedule_work(hid-idle_work);
+   spin_unlock_irqrestore(hid-inlock, flags);
+}
+
+static void hid_check_idle(unsigned long arg)
+{
+   struct hid_device *hid = (struct hid_device *)arg;
+   int state;
+
+   state = 

Re: [linux-usb-devel] [PATCH] usbmon: add binary interface

2006-10-12 Thread Duncan Sands
On Wednesday 11 October 2006 22:43, Pete Zaitcev wrote:
 On Wed, 11 Oct 2006 19:44:43 +, Pavel Machek [EMAIL PROTECTED] wrote:
 
  Does it mean text interface is now deprecated? Or perhaps ioctl should
  be added to text interface too? Or maybe we do not need binary
  interface if we allow resizing on text interface?
 
 I haven't reviewed Paolo's patch yet, but with that in mind:
  - No, text is not deprecated yet. That is only possible when a simplified
command-line tool is written and distributed (e.g. usbmon(8)).
  - No, I do not think an ioctl in debugfs or a text API is a good idea.
  - Resizing on text interface magnifies sprintf contribution to CPU burn,
so once we have the binary one, there's only disadvantage and
no advantage in implementing that.

By the way, any reason why CONFIG_USB_MON doesn't select CONFIG_DEBUG_FS?
Is usbmon useful without debugfs?

Ciao,

Duncan.

-
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642
___
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] returning the deviceID using gadgetfs

2006-10-12 Thread zil iram
Hi,
I am using OSK and gadgetfs as usb gadget driver. I have 
successfully tested enumeration, reading, writing in Linux using usb.c as 
base code. However, I am having trouble with returning the DeviceId of the 
device. The host that the device is connecting to needs the device ID. I 
have looked at the usb.c code and in the handle_control function, I cant 
seem to find a case which handles the device id request from the host, only 
a case for the device string. For the device string, the setup-bRequest 
should be USB_REQ_GET_DESCRIPTOR and the setup-wValue should be 
USB_DT_STRING. So what should be the setup-bRequest value and 
setup-wValue, when the host requests for the device id? Or, How does the 
device/gadget driver send the device id string to the host? I really need 
help on this. Thanks!

Zil

_
FREE pop-up blocking with the new MSN Toolbar - get it now! 
http://toolbar.msn.click-url.com/go/onm00200415ave/direct/01/


-
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642
___
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] usbmon: add binary interface

2006-10-12 Thread Pete Zaitcev
On Thu, 12 Oct 2006 10:17:52 +0200, Duncan Sands [EMAIL PROTECTED] wrote:

 By the way, any reason why CONFIG_USB_MON doesn't select CONFIG_DEBUG_FS?
 Is usbmon useful without debugfs?

It's not now, but it will be once I and Paolo are done here.

-- Pete

-
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642
___
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] EHCI: fix memory pool name allocation

2006-10-12 Thread Christopher \Monty\ Montgomery
On 10/11/06, Alan Stern [EMAIL PROTECTED] wrote:

 Monty, you might try going through all the code you changed.  There are
 _lots_ of places where you have spaces instead of tabs.

you missed the discussion with GregKH about the fact that GMail
recently broke and started molesting plaintext emails; they now force
line wrap at 80 chars and randomly munge whitespace.  Greg gave me an
OK to use text/plain attachments in the future.

There are a number of coding convention viloations I can be rightly
accused of, but I've been trying to be very careful about whitespace.


 On a more serious note, when I do rmmod ehci-hcd I always get a warning
 message something like this:

 dma_pool_destroy ehci_fstn, c8c2c000 busy

 I don't know what that's about; you'll have to fix it yourself.

I do; the master restore FSTN is not being unlinked before shutdown.
Should be harmless, but that doesn't mean it isn't a bug.

Monty

-
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642
___
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] returning the deviceID using gadgetfs

2006-10-12 Thread Alan Stern
On Thu, 12 Oct 2006, zil iram wrote:

 Hi,
 I am using OSK and gadgetfs as usb gadget driver. I have 
 successfully tested enumeration, reading, writing in Linux using usb.c as 
 base code. However, I am having trouble with returning the DeviceId of the 
 device. The host that the device is connecting to needs the device ID.

You have to be more specific.  What do you mean by the device ID?  Are you 
talking about idProduct in the device descriptor?  Or do you mean the 
iProduct string?

 I 
 have looked at the usb.c code and in the handle_control function, I cant 
 seem to find a case which handles the device id request from the host, only 
 a case for the device string. For the device string, the setup-bRequest 
 should be USB_REQ_GET_DESCRIPTOR and the setup-wValue should be 
 USB_DT_STRING. So what should be the setup-bRequest value and 
 setup-wValue, when the host requests for the device id? Or, How does the 
 device/gadget driver send the device id string to the host? I really need 
 help on this. Thanks!

For any string at all, setup-bRequest should be USB_REQ_GET_DESCRIPTOR,
setup-wValue should have USB_DT_STRING in its high byte and the 
string index in its low byte, and setup-wIndex should contain the 
language ID.

This information is all in the USB 2.0 spec, chapter 9.

Alan Stern


-
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642
___
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] About USB resources...

2006-10-12 Thread Greg KH
On Thu, Oct 12, 2006 at 07:58:27AM +0200, Livio Tenze wrote:
 Hi Rao,
 
 I already read the linux device driver book, but that book treats the
 problem from a HOST point of view. I would need to write a driver from a
 usb DEVICE point of view by exploiting the usb-otg properties of my
 evaluation board.

Take a look at:
http://www.linux-usb.org/gadget/
for a start with this kind of stuff.

If you have specific questions about the existing code, please feel free
to ask.

thanks,

greg k-h

-
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642
___
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] Error mouting external usb harddrive

2006-10-12 Thread Magnus Alexandersson
Hi!

When I boot my Ubuntu Edgy Eft installation with an external drive
attached it comes halfway through the boot process and then the light
starts to flash. I get buffer I/O-errors in dmesg. When I detach the
drive and reattach it, it seems to work and I can access it. 

The problem is that I'd like to be able to boot from the drive.

Is there a solution to this that I've overlooked?

Many thanks in advance,
Magnus

[EMAIL PROTECTED]:~$ lsusb
Bus 005 Device 003: ID 04cf:8818 Myson Century, Inc. Fast 3.5 External
Storage
Bus 005 Device 001: ID :  
Bus 004 Device 001: ID :  
Bus 003 Device 001: ID :  
Bus 002 Device 001: ID :  
Bus 001 Device 005: ID 045e:001d Microsoft Corp. Natural Keyboard Pro
Bus 001 Device 004: ID 045e:001c Microsoft Corp. 
Bus 001 Device 006: ID 046d:c01d Logitech, Inc. 
Bus 001 Device 001: ID :  


[17179595.764000] SCSI device sda: 58605120 512-byte hdwr sectors (30006
MB)
[17179595.764000] sda: Write Protect is off
[17179595.764000] sda: Mode Sense: 00 14 00 00
[17179595.764000] sda: assuming drive cache: write through
[17179595.764000]  sda:7eth0: no IPv6 routers present
[17179777.228000] end_request: I/O error, dev sda, sector 0
[17179777.228000] Buffer I/O error on device sda, logical block 0
[17179958.692000] end_request: I/O error, dev sda, sector 0
[17179958.692000] Buffer I/O error on device sda, logical block 0
[17179958.692000] sd 0:0:0:0: Attached scsi disk sda
[17180140.456000] end_request: I/O error, dev sda, sector 58604928
[17180140.456000] Buffer I/O error on device sda, logical block 7325616
[17180321.92] end_request: I/O error, dev sda, sector 58604928
[17180321.92] Buffer I/O error on device sda, logical block 7325616
[17180503.384000] end_request: I/O error, dev sda, sector 58605112
[17180503.384000] Buffer I/O error on device sda, logical block 7325639
[17180684.848000] end_request: I/O error, dev sda, sector 58605112
[17180684.848000] Buffer I/O error on device sda, logical block 7325639
[17180866.312000] end_request: I/O error, dev sda, sector 58605112
[17180866.312000] Buffer I/O error on device sda, logical block 7325639
[17181047.776000] end_request: I/O error, dev sda, sector 58605112
[17181047.776000] Buffer I/O error on device sda, logical block 7325639
[17181229.24] end_request: I/O error, dev sda, sector 58605112
[17181229.24] Buffer I/O error on device sda, logical block 7325639
[17181410.704000] end_request: I/O error, dev sda, sector 58605112
[17181410.704000] Buffer I/O error on device sda, logical block 7325639
[17181592.168000] end_request: I/O error, dev sda, sector 58605056
[17181592.168000] Buffer I/O error on device sda, logical block 7325632
[17181773.632000] end_request: I/O error, dev sda, sector 58605056
[17181773.632000] Buffer I/O error on device sda, logical block 7325632
[17181955.096000] end_request: I/O error, dev sda, sector 58605104
[17181955.096000] Buffer I/O error on device sda, logical block 7325638
[17182136.56] end_request: I/O error, dev sda, sector 58605104
[17182136.56] Buffer I/O error on device sda, logical block 7325638
[17182318.024000] end_request: I/O error, dev sda, sector 58605112
[17182318.024000] Buffer I/O error on device sda, logical block 7325639
[17182499.488000] end_request: I/O error, dev sda, sector 58605112
[17182499.488000] Buffer I/O error on device sda, logical block 7325639
[17182680.952000] end_request: I/O error, dev sda, sector 58605112
[17182680.952000] Buffer I/O error on device sda, logical block 7325639
[17182862.416000] end_request: I/O error, dev sda, sector 0
[17182862.416000] Buffer I/O error on device sda, logical block 0
[17183043.88] end_request: I/O error, dev sda, sector 0
[17183043.88] Buffer I/O error on device sda, logical block 0
[17183225.344000] end_request: I/O error, dev sda, sector 0
[17183225.344000] Buffer I/O error on device sda, logical block 0
[17183406.808000] end_request: I/O error, dev sda, sector 0
[17183406.808000] Buffer I/O error on device sda, logical block 0
[17183588.272000] end_request: I/O error, dev sda, sector 8
[17183588.272000] Buffer I/O error on device sda, logical block 1
[17183769.736000] end_request: I/O error, dev sda, sector 16
[17183769.736000] Buffer I/O error on device sda, logical block 2
[17183951.20] end_request: I/O error, dev sda, sector 24
[17183951.20] Buffer I/O error on device sda, logical block 3
[17184132.664000] end_request: I/O error, dev sda, sector 32
[17184132.664000] Buffer I/O error on device sda, logical block 4
[17184314.128000] end_request: I/O error, dev sda, sector 0
[17184314.128000] Buffer I/O error on device sda, logical block 0
[17184495.592000] end_request: I/O error, dev sda, sector 0
[17184495.592000] Buffer I/O error on device sda, logical block 0
[17184677.056000] end_request: I/O error, dev sda, sector 0
[17184677.056000] Buffer I/O error on device sda, logical block 0
[17184858.52] end_request: I/O error, dev sda, sector 8

Re: [linux-usb-devel] [rfc]autosuspend in hid

2006-10-12 Thread Alan Stern
On Thu, 12 Oct 2006, Oliver Neukum wrote:

 Hi,
 
 I can't boot 2.6.19-rc1, so here's an incomplete version of autosuspend
 for hid to invite comments on the basic approach.
 
   Regards
   Oliver
 
 --- linux-2.6.19-rc1/drivers/usb/input/hid.h  2006-10-05 04:57:05.0 
 +0200
 +++ gregtree/drivers/usb/input/hid.h  2006-10-09 15:20:21.0 +0200
 @@ -384,6 +384,9 @@
  #define HID_IN_RUNNING   3
  #define HID_RESET_PENDING4
  #define HID_SUSPENDED5
 +#define HID_IN_IDLE  6
 +
 +#define HID_IDLE_TIME200*HZ

This will need to be configurable separately for each device.

  int hid_open(struct hid_device *hid)
  {
 - ++hid-open;
 + clear_bit(HID_IN_IDLE, hid-iofl);
 + if (!hid-open++)
 + usb_autopm_get_interface(hid-intf);
   if (hid_start_in(hid))
   hid_io_error(hid);
   return 0;
 @@ -1375,8 +1383,10 @@
  
  void hid_close(struct hid_device *hid)
  {
 - if (!--hid-open)
 + if (!--hid-open) {
   usb_kill_urb(hid-urbin);
 + set_bit(HID_IN_IDLE, hid-iofl);
 + }
  }

There needs to be a call to usb_autopm_put_interface() here, to balance 
the call in hid_open().

 +void hid_add_idle_timer(struct hid_device *hid)
 +{
 + hid-idle_timer.expires = jiffies + HID_IDLE_TIME;
 + add_timer(hid-idle_timer);
 +}
 +
 +static void hid_mod_idle_timer(struct hid_device *hid)
 +{
 + unsigned long flags;
 +
 + spin_lock_irqsave(hid-inlock, flags);
 + if (usb_get_intfdata(hid-intf))
 + mod_timer(hid-idle_timer, jiffies + HID_IDLE_TIME);
 + spin_unlock_irqrestore(hid-inlock, flags);
 +}

It's not obvious why you need two separate functions (you can always call
mod_timer in place of add_timer), or why you need the spinlock.  

usb_get_intfdata() here isn't safe; if the value can be 0 then it can also
be anything else, since a different driver may be bound to the interface.  
It would be better to have an unbound flag in the hid_device structure.
On the other hand, why do you need to check this at all?  This routine 
won't get called after the driver is unbound.

 +static void __hid_report_idle(void *d)
 +{
 + struct usb_interface *intf = d;
 +
 + usb_autopm_put_interface(intf);
 +}

This call needs to be balanced somewhere.  Otherwise intf-pm_usage_cnt
will be decremented at every timeout and never incremented.  See below.

 +static void hid_report_idle(struct hid_device *hid)
 +{
 + struct usb_interface *intf = hid-intf;
 + unsigned long flags;
 +
 + spin_lock_irqsave(hid-inlock, flags);
 + if (!test_bit(HID_SUSPENDED, hid-iofl))
 + if (usb_get_intfdata(intf))
 + schedule_work(hid-idle_work);
 + spin_unlock_irqrestore(hid-inlock, flags);
 +}

Again, usb_get_intfdata() isn't safe or appropriate.

 +static void hid_check_idle(unsigned long arg)
 +{
 + struct hid_device *hid = (struct hid_device *)arg;
 + int state;
 +
 + state = test_and_set_bit(HID_IN_IDLE, hid-iofl);
 +
 + if (!state) {
 + hid_mod_idle_timer(hid);
 + } else {
 + hid_report_idle(hid);
 + }
 +}

Somewhere you will need to restart the idle timer after an autoresume.  
Probably in the resume method.  That may also be where you want to set 
intf-pm_usage_cnt to 1 if the device is open.

Alan Stern


-
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642
___
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] Majordomo results: Word file

2006-10-12 Thread Majordomo
--

 This is a multi-part message in MIME format.
 Command 'this' not recognized.
 
 --=_NextPart_2.41934061050415E-03
 Command '--=_nextpart_2.41934061050415e-03' not recognized.
 Content-Type: text/plain; format=flowed
 Command 'content-type:' not recognized.
 
 Please see the file.
 Command 'please' not recognized.
 
 --=_NextPart_2.41934061050415E-03
 Command '--=_nextpart_2.41934061050415e-03' not recognized.
 Content-Type: application/x-msdownload; name=New_Document_file.pif
 Command 'content-type:' not recognized.
 Content-Transfer-Encoding: base64
 Command 'content-transfer-encoding:' not recognized.
 Content-Disposition: attachment; filename=New_Document_file.pif
 Command 'content-disposition:' not recognized.
 
 TVqQAAME//8AALgAQAAA
 Command 
'tvqqaame//8aalgaqaaa' 
not recognized.
 oA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSBydW4gaW4gRE9TIG1v
 Command 
'oa4fug4atannibgbtm0hvghpcybwcm9ncmftignhbm5vdcbizsbydw4gaw4gre9tig1v' 
not recognized.
 ZGUuDQ0KJAC3Egfb83NpiPNzaYjzc2mIGmxkiPJzaYhSaWNo83NpiFBFAABMAQMAX3bL
 Command 
'zguudq0kjac3egfb83npipnzayjzc2migmxkipjzayhsawno83npifbfaabmaqmax3bl' 
not recognized.

 TOO MANY UNKNOWN INPUT LINES, ABORTING PROCESSING
 No valid commands found.
 Commands must be in message BODY, not in HEADER.

 Help for [EMAIL PROTECTED]:


This help message is being sent to you from the Majordomo mailing list
management system at [EMAIL PROTECTED]

This is version 1.94.5 of Majordomo.

If you're familiar with mail servers, an advanced user's summary of
Majordomo's commands appears at the end of this message.

Majordomo is an automated system which allows users to subscribe
and unsubscribe to mailing lists, and to retrieve files from list
archives.

You can interact with the Majordomo software by sending it commands
in the body of mail messages addressed to [EMAIL PROTECTED].
Please do not put your commands on the subject line; Majordomo does
not process commands in the subject line.

You may put multiple Majordomo commands in the same mail message.
Put each command on a line by itself.

If you use a signature block at the end of your mail, Majordomo may
mistakenly believe each line of your message is a command; you will
then receive spurious error messages.  To keep this from happening,
either put a line starting with a hyphen (-) before your signature,
or put a line with just the word

end

on it in the same place.  This will stop the Majordomo software from
processing your signature as bad commands.

Here are some of the things you can do using Majordomo:

I.  FINDING OUT WHICH LISTS ARE ON THIS SYSTEM

To get a list of publicly-available mailing lists on this system, put the
following line in the body of your mail message to [EMAIL PROTECTED]:

lists

Each line will contain the name of a mailing list and a brief description
of the list.

To get more information about a particular list, use the info command,
supplying the name of the list.  For example, if the name of the list 
about which you wish information is demo-list, you would put the line

info demo-list

in the body of the mail message.

II. SUBSCRIBING TO A LIST

Once you've determined that you wish to subscribe to one or more lists on
this system, you can send commands to Majordomo to have it add you to the
list, so you can begin receiving mailings.

To receive list mail at the address from which you're sending your mail,
simply say subscribe followed by the list's name:

subscribe demo-list

If for some reason you wish to have the mailings go to a different address
(a friend's address, a specific other system on which you have an account,
or an address which is more correct than the one that automatically appears 
in the From: header on the mail you send), you would add that address to
the command.  For instance, if you're sending a request from your work
account, but wish to receive demo-list mail at your personal account
(for which we will use [EMAIL PROTECTED] as an example), you'd put
the line

subscribe demo-list [EMAIL PROTECTED]

in the mail message body.

Based on configuration decisions made by the list owners, you may be added 
to the mailing list automatically.  You may also receive notification
that an authorization key is required for subscription.  Another message
will be sent to the address to be subscribed (which may or may not be the
same as yours) containing the key, and directing the user to send a
command found in that message back to [EMAIL PROTECTED]  (This can be
a bit of extra hassle, but it helps keep you from being swamped in extra
email by someone who forged requests from your address.)  You may also
get a message that your subscription is being forwarded to the list owner
for approval; some lists have waiting 

[linux-usb-devel] Your Personal Mail.Read And Get Back To Me.

2006-10-12 Thread Mr Mou Xinsheng

Hello, I want to solicit your attention to recieve money on my behalf. The 
purpose of my contacting you is because you live in western world. When you 
reply this message,i will send you the full details and more information about 
myself and the funds. My personal email is :[EMAIL PROTECTED]

 Thank you. 
ou Xinsheng.




-
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642
___
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 performance bug since kernel 2.6.13 (CRITICAL???)

2006-10-12 Thread Open Source
(Resending because [EMAIL PROTECTED] bounced right back to me.  Sorry for the 
multiple messages!)

- Forwarded Message 
From: Open Source [EMAIL PROTECTED]
To: linux-kernel@vger.kernel.org; [EMAIL PROTECTED]
Sent: Thursday, October 12, 2006 12:21:56 PM
Subject: USB performance bug since kernel 2.6.13 (CRITICAL???)

Hi all, 
 
I am  writing regarding a performance issue that I recently observed after 
upgrading from kernel 2.6.12 to 2.6.17.  I did some hunting around and have 
found that the issue first arises in 2.6.13.

I am using a device that submits URBs asynchronously using the libusb devio 
infrastructure.  In version 2.6.12 I am able to submit and reap URBs for my 
particular application at a transaction rate of one per millisecond.  A 
transaction consists of a single WRITE URB ( 512 bytes) followed by a single 
READ URB (1024 bytes).  Once I upgrade to version 2.6.13, the transactional 
rate drops to one per 4 milliseconds!

The overall performance of a particular algorithm is increased from a total 
execution time of 75 seconds to over 160 seconds.  The only difference between 
the two tests is the kernel.  Microsoft Windows executes the algorithm in 70-75 
seconds!

I am using a Fedora Core distribution with FC4 kernels for testing.  Is there 
some new incantation that is required in my user-mode driver to get around a 
feature in recent kernels?  Does anyone else know about this?  I was not able 
to easily find discussion about this on the newsgroups.  It appears that this 
problem has been around for a while, if it is indeed a problem.

I am not a subscriber to the linux-kernel mailing list but have cross-posted to 
it since this seems like a serious enough issue.  Please continue to keep any 
responses on linux-usb-devel as well so I can see them in my email box.

Thank you,
Beleaguered Open Source Fan











-
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642
___
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 performance bug since kernel 2.6.13 (CRITICAL???)

2006-10-12 Thread Lee Revell
On Thu, 2006-10-12 at 12:33 -0700, Open Source wrote:
 I am using a device that submits URBs asynchronously using the libusb
 devio infrastructure.  In version 2.6.12 I am able to submit and reap
 URBs for my particular application at a transaction rate of one per
 millisecond.  A transaction consists of a single WRITE URB ( 512
 bytes) followed by a single READ URB (1024 bytes).  Once I upgrade to
 version 2.6.13, the transactional rate drops to one per 4
 milliseconds!

The kernel's internal tick rate was lowered from 1000Hz to 250Hz
starting with 2.6.13.  Rebuild with CONFIG_HZ=1000 and the performance
should return to normal.

Lee


-
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642
___
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] [rfc]autosuspend in hid

2006-10-12 Thread Oliver Neukum
Am Donnerstag, 12. Oktober 2006 19:10 schrieb Alan Stern:
 On Thu, 12 Oct 2006, Oliver Neukum wrote:
 
  Hi,
  
  I can't boot 2.6.19-rc1, so here's an incomplete version of autosuspend
  for hid to invite comments on the basic approach.
  
  Regards
  Oliver
  
  --- linux-2.6.19-rc1/drivers/usb/input/hid.h2006-10-05 
  04:57:05.0 +0200
  +++ gregtree/drivers/usb/input/hid.h2006-10-09 15:20:21.0 
  +0200
  @@ -384,6 +384,9 @@
   #define HID_IN_RUNNING 3
   #define HID_RESET_PENDING  4
   #define HID_SUSPENDED  5
  +#define HID_IN_IDLE6
  +
  +#define HID_IDLE_TIME  200*HZ
 
 This will need to be configurable separately for each device.

I'd prefer to read it from sysfs managed by usbcore.

   int hid_open(struct hid_device *hid)
   {
  -   ++hid-open;
  +   clear_bit(HID_IN_IDLE, hid-iofl);
  +   if (!hid-open++)
  +   usb_autopm_get_interface(hid-intf);
  if (hid_start_in(hid))
  hid_io_error(hid);
  return 0;
  @@ -1375,8 +1383,10 @@
   
   void hid_close(struct hid_device *hid)
   {
  -   if (!--hid-open)
  +   if (!--hid-open) {
  usb_kill_urb(hid-urbin);
  +   set_bit(HID_IN_IDLE, hid-iofl);
  +   }
   }
 
 There needs to be a call to usb_autopm_put_interface() here, to balance 
 the call in hid_open().

Why? The device is idle now.
 
  +void hid_add_idle_timer(struct hid_device *hid)
  +{
  +   hid-idle_timer.expires = jiffies + HID_IDLE_TIME;
  +   add_timer(hid-idle_timer);
  +}
  +
  +static void hid_mod_idle_timer(struct hid_device *hid)
  +{
  +   unsigned long flags;
  +
  +   spin_lock_irqsave(hid-inlock, flags);
  +   if (usb_get_intfdata(hid-intf))
  +   mod_timer(hid-idle_timer, jiffies + HID_IDLE_TIME);
  +   spin_unlock_irqrestore(hid-inlock, flags);
  +}
 
 It's not obvious why you need two separate functions (you can always call
 mod_timer in place of add_timer), or why you need the spinlock.

OK, I'll unify this. It just seemed cleaner.

 usb_get_intfdata() here isn't safe; if the value can be 0 then it can also
 be anything else, since a different driver may be bound to the interface.  
 It would be better to have an unbound flag in the hid_device structure.

Yes.

 On the other hand, why do you need to check this at all?  This routine 
 won't get called after the driver is unbound.

But during.

  +static void __hid_report_idle(void *d)
  +{
  +   struct usb_interface *intf = d;
  +
  +   usb_autopm_put_interface(intf);
  +}
 
 This call needs to be balanced somewhere.  Otherwise intf-pm_usage_cnt
 will be decremented at every timeout and never incremented.  See below.

Right. 

Regards
Oliver

-
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642
___
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 performance bug since kernel 2.6.13 (CRITICAL???)

2006-10-12 Thread Open Source
Hi,

Thanks for the rapid response!  But...I'm a bit confused.  Why is there any 
software OS timer involved at all?  Bulk messages should be scheduled by the 
host controller and for USB 2.0 the microframe period is 125 us.  When I submit 
an URB, it should be sent to the host controller and scheduled for the next 
microframe.  When the URB completes I should get an interrupt from the 
hardware.  Hence, my transactions (WRITE followed by READ) should at worst be 
approximately 250 us plus some overhead to process the transaction itself, 
provided there aren't any other time consuming processes running on my OS.  My 
overhead is less than 250 us.  I was willing to tolerate 1 ms per transaction, 
but 4 ms just doesn't make any sense.  Therefore I'm not sure if CONFIG_HZ is 
an appropriate excuse for this issue.

Besides, Windows is now more than twice as fast out of the box than Linux when 
it comes to this particular type of USB usage.  We can't have that can we? :-)  
Linux used to be fast and the only difference with my recent experiences is the 
kernel version.

Best regards,
Still Beleagered Open Source Fan


- Original Message 
From: Lee Revell [EMAIL PROTECTED]
To: Open Source [EMAIL PROTECTED]
Cc: linux-usb-devel@lists.sourceforge.net; linux-kernel@vger.kernel.org
Sent: Thursday, October 12, 2006 12:55:55 PM
Subject: Re: USB performance bug since kernel 2.6.13 (CRITICAL???)

On Thu, 2006-10-12 at 12:33 -0700, Open Source wrote:
 I am using a device that submits URBs asynchronously using the libusb
 devio infrastructure.  In version 2.6.12 I am able to submit and reap
 URBs for my particular application at a transaction rate of one per
 millisecond.  A transaction consists of a single WRITE URB ( 512
 bytes) followed by a single READ URB (1024 bytes).  Once I upgrade to
 version 2.6.13, the transactional rate drops to one per 4
 milliseconds!

The kernel's internal tick rate was lowered from 1000Hz to 250Hz
starting with 2.6.13.  Rebuild with CONFIG_HZ=1000 and the performance
should return to normal.

Lee







-
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642
___
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 performance bug since kernel 2.6.13 (CRITICAL???)

2006-10-12 Thread Lee Revell
On Thu, 2006-10-12 at 13:05 -0700, Open Source wrote:
 Hi,
 
 Thanks for the rapid response!  But...I'm a bit confused.  Why is there any 
 software OS timer involved at all?  Bulk messages should be scheduled by the 
 host controller and for USB 2.0 the microframe period is 125 us.  When I 
 submit an URB, it should be sent to the host controller and scheduled for the 
 next microframe.  When the URB completes I should get an interrupt from the 
 hardware.  Hence, my transactions (WRITE followed by READ) should at worst be 
 approximately 250 us plus some overhead to process the transaction itself, 
 provided there aren't any other time consuming processes running on my OS.  
 My overhead is less than 250 us.  I was willing to tolerate 1 ms per 
 transaction, but 4 ms just doesn't make any sense.  Therefore I'm not sure if 
 CONFIG_HZ is an appropriate excuse for this issue.
 

I don't know, it just seemed likely because 1ms vs 4ms is close to the
change in the timer tick rate.  Try it.

Lee


-
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642
___
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] [rfc]autosuspend in hid

2006-10-12 Thread Oliver Neukum
Am Donnerstag, 12. Oktober 2006 19:10 schrieb Alan Stern:
   void hid_close(struct hid_device *hid)
   {
  - if (!--hid-open)
  + if (!--hid-open) {
    usb_kill_urb(hid-urbin);
  + set_bit(HID_IN_IDLE, hid-iofl);
  + }
   }
 
 There needs to be a call to usb_autopm_put_interface() here, to balance 
 the call in hid_open().

OK, of course. Please disregard my last remark.

Regards
Oliver

-
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642
___
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 performance bug since kernel 2.6.13 (CRITICAL???)

2006-10-12 Thread Open Source
Yes, I am pretty sure you are right about the timing.  But it shouldn't be that 
way.  If it is, then there's a bug.

I'm fully willing to accept there is something else I should be doing 
driver-wise, but it shoudn't require recompiling the stock distribution 
kernels.  Otherwise, Linux is not competitive with Microsoft Windows in this 
regard!

I'll try a recompile and report back.  In the meantime, if anyone else has any 
ideas, please let me know!

Gopal


- Original Message 
From: Lee Revell [EMAIL PROTECTED]
To: Open Source [EMAIL PROTECTED]
Cc: linux-usb-devel@lists.sourceforge.net; linux-kernel@vger.kernel.org
Sent: Thursday, October 12, 2006 1:19:12 PM
Subject: Re: USB performance bug since kernel 2.6.13 (CRITICAL???)

On Thu, 2006-10-12 at 13:05 -0700, Open Source wrote:
 Hi,
 
 Thanks for the rapid response!  But...I'm a bit confused.  Why is there any 
 software OS timer involved at all?  Bulk messages should be scheduled by the 
 host controller and for USB 2.0 the microframe period is 125 us.  When I 
 submit an URB, it should be sent to the host controller and scheduled for the 
 next microframe.  When the URB completes I should get an interrupt from the 
 hardware.  Hence, my transactions (WRITE followed by READ) should at worst be 
 approximately 250 us plus some overhead to process the transaction itself, 
 provided there aren't any other time consuming processes running on my OS.  
 My overhead is less than 250 us.  I was willing to tolerate 1 ms per 
 transaction, but 4 ms just doesn't make any sense.  Therefore I'm not sure if 
 CONFIG_HZ is an appropriate excuse for this issue.
 

I don't know, it just seemed likely because 1ms vs 4ms is close to the
change in the timer tick rate.  Try it.

Lee







-
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642
___
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] [rfc]autosuspend in hid

2006-10-12 Thread Alan Stern
On Thu, 12 Oct 2006, Oliver Neukum wrote:

 Am Donnerstag, 12. Oktober 2006 19:10 schrieb Alan Stern:
    void hid_close(struct hid_device *hid)
    {
   - if (!--hid-open)
   + if (!--hid-open) {
     usb_kill_urb(hid-urbin);
   + set_bit(HID_IN_IDLE, hid-iofl);
   + }
    }
  
  There needs to be a call to usb_autopm_put_interface() here, to balance 
  the call in hid_open().
 
 OK, of course. Please disregard my last remark.

In fact the usb_autpm_{get|put}_interface API is a little clumsy.  It 
works okay if you do nothing but suspend on close and resume on open.  But 
for anything more substantial it tends to get in the way.  If you have any 
ideas for a better approach, let me know.

In the end you may be better off manipulating intf-pm_usage_cnt directly.  
That's what I had to do in the hub driver.


Oh yes, there's one detail I forgot to mention before.  You need to set
the supports_autosuspend flag in the usb_driver structure (can be done
statically) and the needs_remote_wakeup flag in the usb_interface 
structure (must be done during probe).

Alan Stern


-
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642
___
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-SERIAL:cp2101 Add new device ID

2006-10-12 Thread Craig Shelley
This patch adds device ID 0xEA61. This is another factory default ID
used by SILabs.

-- 
Signed-off-by: Craig Shelley [EMAIL PROTECTED]
diff -Nru a/drivers/usb/serial/cp2101.c b/drivers/usb/serial/cp2101.c
--- a/drivers/usb/serial/cp2101.c	2006-10-12 21:59:28.0 +0100
+++ b/drivers/usb/serial/cp2101.c	2006-10-12 22:01:25.0 +0100
@@ -65,6 +65,7 @@
 	{ USB_DEVICE(0x10C4, 0x813D) }, /* Burnside Telecom Deskmobile */
 	{ USB_DEVICE(0x10C4, 0x815E) }, /* Helicomm IP-Link 1220-DVM */
 	{ USB_DEVICE(0x10C4, 0xEA60) }, /* Silicon Labs factory default */
+	{ USB_DEVICE(0x10C4, 0xEA61) }, /* Silicon Labs factory default */
 	{ USB_DEVICE(0x16D6, 0x0001) }, /* Jablotron serial interface */
 	{ } /* Terminating Entry */
 };


signature.asc
Description: This is a digitally signed message part
-
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642___
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 performance bug since kernel 2.6.13 (CRITICAL???)

2006-10-12 Thread Lee Revell
On Thu, 2006-10-12 at 13:56 -0700, Open Source wrote:
 Yes, I am pretty sure you are right about the timing.  But it shouldn't be 
 that way.  If it is, then there's a bug.
 
 I'm fully willing to accept there is something else I should be doing 
 driver-wise, but it shoudn't require recompiling the stock distribution 
 kernels.  Otherwise, Linux is not competitive with Microsoft Windows in this 
 regard!
 
 I'll try a recompile and report back.  In the meantime, if anyone else has 
 any ideas, please let me know!
 

Yes, I agree that it would be a bug.  If it turns out to be related to
CONFIG_HZ, ask your distro why they rolled it back from 1000 to 250Hz.

Lee



-
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642
___
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] About USB resources...

2006-10-12 Thread David Brownell
On Wednesday 11 October 2006 10:41 pm, Livio Tenze wrote:
I use the montavista
 linux kernel 2.4.20 and I read some sources included in this
 distribution, but it is not clear how I have to write the device driver.

I'm fairly sure I've seen mentino of an imx UDC driver for recent
2.6 kernels ... combine that with the serial gadget driver and
you may be able to avoid writing any new code.  Of course that
implies you should use a recent 2.6 kernel, but that's expected 
for anyone wanting to use ARM Linux and get community support.

- Dave


-
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642
___
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] Majordomo results: Re:

2006-10-12 Thread Majordomo
--

 This is a multi-part message in MIME format.
 Command 'this' not recognized.
 
 --=_NextPart_0.048709762096405
 Command '--=_nextpart_0.048709762096405' not recognized.
 Content-Type: text/html; format=flowed
 Command 'content-type:' not recognized.
 Content-Transfer-Encoding: quoted-printable
 Command 'content-transfer-encoding:' not recognized.
 
 !DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.0 Transitional//EN
 Command '!doctype' not recognized.
 HTMLHEAD
 Command 'htmlhead' not recognized.
 META http-equiv=3DContent-Type content=3Dtext/html; =
 Command 'meta' not recognized.
 charset=3Dwindows-1252
 Command 'charset=3dwindows-1252' not recognized.
 META content=3DMSHTML 6.00.2600.0 name=3DGENERATOR
 Command 'meta' not recognized.
 STYLE/STYLE
 Command 'style/style' not recognized.
 /HEAD
 Command '/head' not recognized.

 TOO MANY UNKNOWN INPUT LINES, ABORTING PROCESSING
 No valid commands found.
 Commands must be in message BODY, not in HEADER.

 Help for [EMAIL PROTECTED]:


This help message is being sent to you from the Majordomo mailing list
management system at [EMAIL PROTECTED]

This is version 1.94.5 of Majordomo.

If you're familiar with mail servers, an advanced user's summary of
Majordomo's commands appears at the end of this message.

Majordomo is an automated system which allows users to subscribe
and unsubscribe to mailing lists, and to retrieve files from list
archives.

You can interact with the Majordomo software by sending it commands
in the body of mail messages addressed to [EMAIL PROTECTED].
Please do not put your commands on the subject line; Majordomo does
not process commands in the subject line.

You may put multiple Majordomo commands in the same mail message.
Put each command on a line by itself.

If you use a signature block at the end of your mail, Majordomo may
mistakenly believe each line of your message is a command; you will
then receive spurious error messages.  To keep this from happening,
either put a line starting with a hyphen (-) before your signature,
or put a line with just the word

end

on it in the same place.  This will stop the Majordomo software from
processing your signature as bad commands.

Here are some of the things you can do using Majordomo:

I.  FINDING OUT WHICH LISTS ARE ON THIS SYSTEM

To get a list of publicly-available mailing lists on this system, put the
following line in the body of your mail message to [EMAIL PROTECTED]:

lists

Each line will contain the name of a mailing list and a brief description
of the list.

To get more information about a particular list, use the info command,
supplying the name of the list.  For example, if the name of the list 
about which you wish information is demo-list, you would put the line

info demo-list

in the body of the mail message.

II. SUBSCRIBING TO A LIST

Once you've determined that you wish to subscribe to one or more lists on
this system, you can send commands to Majordomo to have it add you to the
list, so you can begin receiving mailings.

To receive list mail at the address from which you're sending your mail,
simply say subscribe followed by the list's name:

subscribe demo-list

If for some reason you wish to have the mailings go to a different address
(a friend's address, a specific other system on which you have an account,
or an address which is more correct than the one that automatically appears 
in the From: header on the mail you send), you would add that address to
the command.  For instance, if you're sending a request from your work
account, but wish to receive demo-list mail at your personal account
(for which we will use [EMAIL PROTECTED] as an example), you'd put
the line

subscribe demo-list [EMAIL PROTECTED]

in the mail message body.

Based on configuration decisions made by the list owners, you may be added 
to the mailing list automatically.  You may also receive notification
that an authorization key is required for subscription.  Another message
will be sent to the address to be subscribed (which may or may not be the
same as yours) containing the key, and directing the user to send a
command found in that message back to [EMAIL PROTECTED]  (This can be
a bit of extra hassle, but it helps keep you from being swamped in extra
email by someone who forged requests from your address.)  You may also
get a message that your subscription is being forwarded to the list owner
for approval; some lists have waiting lists, or policies about who may
subscribe.  If your request is forwarded for approval, the list owner
should contact you soon after your request.

Upon subscribing, you should receive an introductory message, containing
list policies and features.  Save this message for future reference; it
will also contain exact directions for unsubscribing.  If you lose the
intro mail and would like another copy of the policies, send this message
to [EMAIL 

[linux-usb-devel] USB suspend/resume in linux

2006-10-12 Thread Kaburlasos, Nikos
Does anyone know whether the linux USB drivers support the suspend
feature on idle USB ports (i.e. the port has been idle for sometime and
so the driver transitions it in to a low-power 'suspend' state) while
the system is active and in S0 state? As far as I know, Windows don't
support that, I was wondering if linux does.

Please note, I have no background on linux or in OS programming (I am a
hardware guy), so please be gentle with the level of technical detail in
your response :-)

NK

-
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel