Commit Graph

23 Commits

Author SHA1 Message Date
Benoit Goby f4de078388 libusbhost: Fix USB device discovery on boot
On some devices, /dev/bus/usb does not exist on boot, it is only created
when the otg port is in host mode. Use inotify to detect when /dev/bus/usb
is created and then start watching subdirectories.

Change-Id: Ic1472a5ea7a7118cdbb560cc7071ade9bcee753a
2012-08-02 12:20:25 -07:00
Benoit Goby 6cc883ca09 libusbhost: Fix possible missed "device added" notification
When a new bus is added, check for existing devices in the bus
directory, since devices may have been added before calling
inotify_add_watch.

Also add missing inotify_rm_watch calls.

Change-Id: Ie69fc995a3e8b18431099b252be86f0054fe5531
2012-08-02 12:19:30 -07:00
Steve Block 8d66c49258 Rename (IF_)LOGD(_IF) to (IF_)ALOGD(_IF) DO NOT MERGE
Bug: 5449033
Change-Id: I9244d927f14c750cd359ebffb1fc1c355a755d5a
2012-01-03 22:32:30 +00:00
Mike Lockwood c4c00d8e6a libusbhost: Limit bulk transfer requests to 16384 bytes
Otherwise the kernel will return an EINVAL error

Change-Id: I906472a4128eb26c5be7865142bc4a52464cf5f8
Bug: 4065217

Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-03-12 14:06:49 -05:00
Mike Lockwood b5d68a3c28 libusbhost: Save endpoint ID in usb_request struct
Change-Id: I2cf189cee67c2efbcf919c8bae1447a6cb112f02
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-02-14 08:05:40 -05:00
Mike Lockwood 120b57a3d9 libusbhost: Add call for synchronous bulk transfers
Also clean up and add timeout to control request transfer

Change-Id: Ibc2d8ac64d0fa90e0a23e6225ce2c49b23bb0d97
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-01-27 16:21:56 -08:00
Mike Lockwood ec9e7b1c18 libusbhost: Add usb_device_connect_kernel_driver()
This can be used to ask the kernel to disconnect its driver for a device
so usb_device_claim_interface() can claim it instead.

Also increased size of descriptor buffer and added some debugging logs

Change-Id: I4945196d957fb8493716eb9b7e5463c06b168ef1
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-01-22 14:10:04 -08:00
Mike Lockwood e533c5f100 libusbhost: Support for multiple pending requests on a single endpoint
Add new usb_request struct to replace usb_endpoint, which is no longer needed.

Change-Id: Ia3637b3431a3597caced41bfec677ef0b044a453
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-01-06 09:21:13 -05:00
Mike Lockwood 7d700f8bdc libusbhost: Add usb_device_get_name_from_unique_id()
This allows converting from unique IDs to USB device names

Change-Id: I8e3b300790c01383aed8e3d4f547b54bcb7c2cd4
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-12-29 09:27:16 -05:00
Mike Lockwood 123538954b Change libusbhost from static to shared library
Change-Id: I0c16cc4536c4ab700c33433c8a6323ade7cfc95d
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-12-29 08:33:24 -05:00
Mike Lockwood 93aff72d9b libusbhost: Fix breakage due to not storing dev_name in struct usb_device
Change-Id: Iefac9b31f900edb2dbd594f9eff9113b2038757d
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-12-15 12:58:04 -08:00
Mike Lockwood 50372073d2 libusbhost: Add accessor for the USB device descriptor
Change-Id: Ic3a54e2a06f3b4fa72f99b64025a911fbf525daf
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-12-13 19:08:27 -08:00
Mike Lockwood cd185f23cc libusbhost: Add support for creating a usb_device struct from an existing fd
We will use this for sharing USB file descriptors across address spaces via Binder

Change-Id: Iadbd3e0a4178f79d1d778fdfd5175f6fe0e2aaf5
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-12-13 19:08:14 -08:00
Mike Lockwood 07eb4af174 libusbhost: add usb_device_get_unique_id_from_name()
Change-Id: Idce54fc26d0432d4dc46f605623c4960c0e8690f
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-07-27 19:05:33 -04:00
Mike Lockwood 1b7d991b43 libusbhost: Add usb_device_send_control for sending raw commands on endpoint 0.
Change-Id: If883f2690c4031b9ba4d5cf943b5bf5c13193bce
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-07-24 13:57:57 -04:00
Mike Lockwood e8849d190a libusbhost: Fix deadlock on devices without USB host support.
Change-Id: Ic91f99d1169fcdc00474dd6a870eb7e614128bc2
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-07-20 16:31:42 -04:00
Mike Lockwood a805519cee libusbhost: Add callback to usb_host_run to notify when initial device discovery is done
This can be used to eliminate race conditions in clients that operate immediately
on the currently connected device list.

Signed-off-by: Mike Lockwood <lockwood@android.com>

Change-Id: I14954b9fcc84239950ead6bdc1a0a888882c2226
2010-07-20 09:50:56 -04:00
Mike Lockwood 7a96ba436c libusbhost: The client is now responsible for creating the thread that monitors the bus
This is to allow using a thread that is capable of calling through JNI to Java code
to report USB device attached/removed events.

Change-Id: Ia58592607a2c1f4357b31072044f5db5617d7f5b
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-07-01 11:33:41 -04:00
Mike Lockwood e15af09876 libusbhost: Use logcat for debugging when building device library.
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-06-10 10:22:38 -04:00
Mike Lockwood 203f102028 libusbhost: Added usb_device_get_unique_id
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-06-01 22:18:04 -04:00
Mike Lockwood 6ac3aa1574 libusbhost: Remove global data to allow multiple instances in the same process.
Change-Id: I977145f44131ec8b588dd274e0afbc563f3aa4c0
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-05-25 08:20:32 -04:00
Mike Lockwood 5e567cb34b libusbhost: add usb_endpoint_get_device()
Change-Id: Ibe4ce0551faca5d2d8bec0fbd21315a393b9f208
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-05-12 08:53:49 -04:00
Mike Lockwood 30ff2c70ce libusbhost: new library for Linux USB host support.
Supports access to Linux usbdevfs on both device and Linux host.

Change-Id: Ie88a5193be3ee715792b10b34b3da32ffc4ca57b
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-05-10 11:37:26 -04:00