Re: Need help to understand USB driver mechanism

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

 



Hi Alan,

Thanks for your reply. It really helps.

What approach one should use to learn the device drivers?

Vishal N

On Thu, Jun 21, 2012 at 8:10 PM, Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> wrote:
> On Thu, 21 Jun 2012, Vishal Nandanwar wrote:
>
>> Hi,
>>
>> I am trying to understand the USB device driver writing mechanism and
>> architecture. I have gone through the LDD book as well.
>>
>> For learning purpose I am trying to write a driver for a pen drive
>> i.e. USB mass storage.
>
> That's a terrible way to learn.  The mass-storage driver is one of the
> most complicated ones in the USB subsystem.  You should start with
> something simpler.
>
>> Linux do have the usb-storage driver which is
>> used for pen drive. I have gone through the ../driver/usb/storage
>> folder of Linux source code and found there are few drivers(karma,
>> freecom) which uses usb-storage to achive there functionality.
>
> Yes.  Those sub-drivers are needed because their devices don't use the
> standard USB mass-storage protocol.
>
>> what is the mechanism to write a driver for pen drive(USB mass
>> storage)? Is there any guide/help document which describes how to
>> create a interface driver on top of usb-storage driver, so when my pen
>> driver is connected it should use my driver?
>
> I can tell you in one word how to write a driver for your pen drive:
>
>        Don't!
>
> If you don't write a special driver then the pen drive should work
> perfectly well.  If you did try to write a special interface sub-driver
> for it, you'd find that your driver had nothing to do because
> usb-storage already handles everything.
>
> Alan Stern
>
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux