usb

Libusb Port (Pencils Down)

Blog post by akshay1994 on Mon, 2014-08-18 06:47
Hello Everyone!

Today is the firm 'pencils down' date for Google Summer of Code. I write this blog, summing over all the activities/tasks accomplished in the last three months and my journey with Haiku.  

Libusb Port : Post Mid Term

Blog post by akshay1994 on Sat, 2014-07-12 08:35
Hello Everyone! I am working on porting Libusb to Haiku as part of Google Summer of Code, and here is a progress report on the work done till now.

LibUSB Port : Quarter Term

Blog post by akshay1994 on Wed, 2014-06-11 10:57

Hello Everyone!

Here is an update on the port.

[GSoC 2014] LibUSB Port

Blog post by akshay1994 on Mon, 2014-04-28 13:24
Hello Everyone!

Google Summer of Code 2014 is now underway, and I am one of the four students selected to work with Haiku. My project is completing the LibUSB Port to Haiku.

A USB Video Driver for High-end Webcams (GSoC Proposal)

Blog post by gabriel.hartmann on Mon, 2011-05-02 03:04

As part of the Google Summer of Code I'll be working on developing a driver for Haiku that allows for the use of high-end webcams. By high-end webcams I mean in this case those which adhere to the USB video device class (UVC) specification. Preliminary work will involve bringing Haiku's support for the Enhanced Host Controller Interface (EHCI) to a point where UVC driver development proper can begin. Understanding the state of EHCI support and what work needs to be done in order to begin UVC development is my major goal for the community bonding period.

UVC development will entail the detection and exposure of camera features via Haiku's media kit. This will require (if I understand correctly) the production of a node with an attendant ParameterWeb which will hold the actual feature definitions. Then ideally any interested application will be able to issue commands to a UVC compliant camera and receive back appropriate responses in the form of image frames or video streams in various formats and resolutions, or status reports depending on the camera. The primary test camera will be a Logitech Quickcam Pro 9000 which supports a fairly wide range of resolutions, contains a microphone, and has a hardware button (presumably for taking still photographs). I have also noticed during the course of some computer vision research with the camera that it has what appears to be a hardware driven exposure compensation feature. There is also a similar feature exposed through the Windows Logitech driver software, but when this is turned off some exposure compensation still occurs. It will be intersting to see whether this feature is genuinely rooted in the hardware or is a result of hidden propietary Logitech software.

Impression about my GSoC with HAIKU and USB isochronous support status

Blog post by emitrax on Wed, 2007-09-05 13:32

During this summer I had the chance to improve myself, and work on the USB isochronous support of HAIKU. I wrote some code for every layer of the HAIKU USB stack: USBKit library, usb_raw driver, usb bus manager and most of all the uhci driver. I also spent/waisted some weeks with the usb_webcam media addon, but sadly with not success. Anyway here is what I did.

UHCI driver: Basically I added all the necessary code to handle isochronous transfer in both direction (in and out).

USB stack manager: As above, I added the necessary code to handle isochronous request plus a feature that was missing in the stack and I needed in order to use my webcam. Basically the possibility to choose a different alternate settings for an interface was missing. The code that implements this feature, along with some more code, is still hanging in my computer as it has not been reviewed yet. Not worries though, it will soon be included in the main tree.

USBKit library: Same here. I've added the code to submit isochronous request from user space and to set a different alternate settings. I also modified Francois utility (usb_dev_info) to display all the info about different alternate settings. This code is also still in my computer, but as I said, don't worry ;)

usb_raw driver: like you can imagine, I've added the necessary ioctl commands to handle both isochronous request, and alternate settings feature.

The main reason why some code is still not included in the main tree, it's because it breaks binary compatibility with the USBKit, as I added some more needed command to handle the alternate settings feature.

The most difficult part of my work was the testing as there was not working driver that uses isochronous transfers. I first tried with adding the support for my webcam to the usb_webcam media addon, but it turns out to be more difficult than I thought, because it wasn't very easy to debug for me. So after waisting some more days trying to compile a messy kernel driver provided by my mentor :-) , I finally come up with the idea of implementing the driver for my webcam as user space utility by using the USBKit and so bypassing the media server. This time it was very easy to debug. I managed to get some data but I didn't write the part the actually parsed the data and decoded the frame, as I ran out of time. I though compared the data I was getting with the one sniffed with usbsnoop on linux while running XP on vmplayer and some long hex patterns matched, which are supposed to be some sort of sync pattern. Beside, when putting the camera under my white lamp I was getting 0xff data, which looked very clear to me.

Anyway, I must say that I'm not very happy about the testing, I hoped I could do more but as I said, I waisted some weeks trying with the wrong method to test my code. Sorry guys.

Anyway, I'll be off for some weeks now, as I have my last exams and then I'll probably move to Pisa (any BeOS/HAIKU user over there?). Then I should finally managed to finish reading the OHCI spec I printed out month ago, and I promised I would work on.

Salvo

Adding isochronous support to USBKit and usb_raw

Blog post by emitrax on Tue, 2007-07-03 12:36

Just to keep those of you interested updated, after discussing it with both my mentor and Michael Lotz, and after a very quick chat with Francois Revol, I am going to add isochronous support to both the USBKit and usb_raw driver. Meanwhile Francois, if time is on his side, should add isochronous support to his user space quickcam driver (see src/add-ons/media/media-add-ons/usb_webcam/). This way I can test my previous patches and perhaps everyone can start using his logitech quickcam with Haiku by using codycam. I don't know though for sure, what product id are supported.

Syndicate content