Re: learning USB subsystems

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 10/14/07, Manish Katiyar <mkatiyar@xxxxxxxxx> wrote:
> Hi Greg,
>
> Thanks for that info and warning me not to try usb flash stick :-) to
> learn......... Will a USB mouse be simpler ???....... i dont expect
> myself to write code to move the mouse...........but atleast put
> something in dmesg when i plug it.........just to understand the
> basics........
>
Alternatively, instead of starting with a particular hardware, why not
start with Google?

>From Google:

a.   find out all about the basics of the USB protocol.    Protocols
are source code independent. and all the intro stuff:

www.beyondlogic.org/usbnutshell/usb1.htm
www.linux-usb.org/USB-guide/c15.html
www.hitex.co.uk/usb/usbtutorial.html
www.pmc-sierra.com/webinars/usb.html
www.usb.org/developers/whitepapers/usb_20g.pdf
www.linuxjournal.com/article/7353 ---> this is on a simple USB lamp device.
www.linuxjournal.com/article/4786
kerneltrap.org/node/2895
free-electrons.com/doc/linux-usb/text73.html

b.   Next delve right into the kernel source:   take one existing
example and tear it apart.   Lots of questions about kernel stuff will
come in.   Key is to look out for all the key USB APIs, eg, just go to
drivers/usb/core subdirectory and grep for "EXPORT".

message.c:EXPORT_SYMBOL(usb_sg_init);
message.c:EXPORT_SYMBOL(usb_sg_cancel);
etc etc.

c.   You may need to fallback on the USB specification if necessary.

d.   In Linux kernel Documentation/usb directory - many articles
exists, and the following as well:

www.linux-kernel.de/docs/kernel/writing_usb_driver.pdf

--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx
Please read the FAQ at http://kernelnewbies.org/FAQ


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux