[linux-dvb] basic steps for a new driver?

José Oliver Segura primijos at gmail.com
Thu Nov 9 10:45:48 CET 2006


      Hi,

      as nobody answered my email regarding the LiveView TV Walker,
I'll assume that nobody is interested in it :) Well, I'm am, so I am
looking for basic steps to develop support for it.

       I've been looking around the dbv wiki (a lot, believe me), but
I'v not found any quick-tutorial/basic steps for
developing/adapting/extending a driver (sorry if that information is
there, but I've not found it).

       But, from the information in different pages, I've figured out
a general approach I'm trying to take in the next days (please, any
help will  be welcome):

       1. Get the device working on Windows (it already works)
       2. Get *lots* of USB-sniffing info for the device
       3. Analyze *lots* of that information in order to detect and identify:
               3.1 Control commands send from the windows driver to the device
               3.2 Responses from the device to the driver
       4. Try to create a new driver from an existing one, replacing the
       device-specific messages/behaviour with the one outlined by the usb-sniff
       analysis
       5. Compile, insmod, cross my fingers...

       Is that more or less OK? If so, any hint will be welcome regarding:

       * The best approach for USB snoop traces generation/analysis.
Maybe think about possible actions in the windows interface and try to
get a separated snoop trace of each one of them? (ex. plug-unplug the
device [don't know if it's possible], scan channels, select a channel,
ask for the EPG, ask for teletext). That is: for each "action": start
snooping, perform the action in the windows interface, stop snooping,
keep log file and analyse it later (I know it's a rough assumption,
but I guess it should be easier to locate that information in a file
that reflects "only" one specific action that in a big big file with
lots of action mixed up together)

       * What do you think is the best driver to take as a
basis/template? (emXXX?)

       * Firmware... uh? I've been that in order to work with some
devices, it is needed to download some firmware to them. How can I
know if I need to do it with my device or not? (snooping usb also?)

       I know this message could contain some "dumb" assumptions /
questions, but *really*, i'ts been a long time since my last kernel
development (a dummy device driver, kind of "/proc" filesystem):
**eleven** years ago (yes, the time from boot/root floppies ;) ), so
forgive me for any imprecission/assumption/stupid question in the
whole mail.

       Best,
       Jose



More information about the linux-dvb mailing list