This is an old revision of the document!


A PCRE internal error occured. This might be caused by a faulty plugin

====== Balaji Rao: USB Support Project ====== ===== Journal ===== ==== Week 0 ==== === May 19th === Journal created. Spoke to mcb30 and mdc on IRC and began to make notes about how USB works at a hardware level. Notes on that are [[..:notes:usb_outline|here]]. === May 20th === Wrote a brief document on how the USB and the host controller operate. mcb30 asked me to write it in more detail. Started studying the Linux kernel source code to understand various data structures and to learn in exact detail how it works. Its good to read from an implementation than read the specification. === May 25th === Completely studied the Linux Kernel source code on how outbound data is sent to the device. The things remaining are - Device detection and configuration and handling completed USB requests. Also, I need to begin thinking of creating software interfaces for various layers in the USB stack. We could probably avoid including Isochronous data transfer type. This should simplify a lot of things, especially we can do away with bandwidth calculation and things. So the main aim now is to handle Bluk, Control and interrupt transfer types very well. Coding begins tomorrow. I'm excited! ==== Week 1 ==== === May 26th === Coding began. Talked to mcb30 on how to get started. According to my initial roadmap, I wouldn't be able to test anything till week 4. He suggested that I have something to test right on week 1. He told me to wrote a PCI driver for the USB host controller that'll claim its device. === May 28th === mcb30 did a quick review of my code today and pointed out some minor mistakes. Now my PCI driver recognizes its device and claims it.It also obtains the number of ports on the root hub. The next step is to talk to the root hub to initialize it. After this, we talk to the devices and initialize them. The problem is, even to talk to the root hub, we need all our TD, QHs, Framelist and other parts of the UHCI schedule to be up. This is because, the root hub is nothing but a special USB device which comes first on the bus. So, I'm afraid I wont be able to do any testing for some days now.


QR Code
QR Code soc:2008:balajirrao:journal:start (generated for current page)