Re: How to make my device work with linux?

2009-10-01 Thread Michael Krufky
On Thu, Oct 1, 2009 at 2:38 PM, Wellington Terumi Uemura
wellingtonuem...@gmail.com wrote:
 Hello everyone!

 I've a ISDB-Tb device from TBS-Tech that doesn't work with linux yet,
 it uses this chip sets:
 http://www.linuxtv.org/wiki/index.php/TBS_USB_ISDB-T_Stick

 Tuner - NXP TDA18271HD
 Demodulator - Fujitsu_MB86A16
 USB interface - Cypress Semiconductor EZ-USB FX2LP CY7C68013A
 Other - Shenzen First-Rank Technology T24C02A EEPROM 256 x 8 (2K bits)

 Using information available on the internet I've dumped the required
 firmware from the driver files using dd:
 http://www.4shared.com/file/136823880/6c2d23d9/TBS-Techfw.html

 As the linuxtv wiki shows, linux detect the device but to make it work
 I think is a hole different issue because is not just place the
 firmware in to the right place, the kernel have to know what to do
 with it and how to interface with the device. I was playing with
 fx2pipe trying to load the firmware and program returns that there is
 no device connected to any USB ports and I don't know if this is the
 right tool to play with.

 I hope to find some light on this issue.

 Thank you.

For a first step, I'd recommend to read up on using USB sniffers to
capture the windows driver traffic.  The drivers for the FX2 parts
tend to be relatively easy to sniff.  We already have a linux driver
for the TDA18271, I *think* there is a driver available for that
Fujitsu demod but it's not in the v4l-dvb master repository.
Support for ISDB-T was recently added to dvb-core, so many of the
major parts are available...

Unfortunately, to bring up the device driver to completion probably
wont be as easy as you might hope, but the best place to start is a
sniffed usb driver log.

It might actually be an easier task to simply find a device based on
the dib8000 that Patrick Boettcher recently added ISDB-T support for.
Other than that, I'm not sure if anybody here has the expertise to
help you support your hardware without having a stick of their own to
play with as well.

Good Luck,

Mike
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: How to make my device work with linux?

2009-10-01 Thread Wellington Terumi Uemura
I was looking around to find that there is a driver for that Fujitsu
MB86A16 inside the Linux Mantis Driver project, Fujitsu MB86A16
DVB-S/DSS DC Receiver driver made by Manu Abraham
http://www.verbraak.org/wiki/index.php/Linux_Mantis_driver.

I've done a few tests with usbsnoop and other tools but USB sniffer
doesn't see any valid command, jut a bunch of bytes that makes no
sense:
http://www.isely.net/pvrusb2/firmware.html#FX2

I will try my luck compiling that Fujitsu driver, but my best guess is
that without a proper I/O from that FX2 it will end up with nothing at
all.

Thank you.

 For a first step, I'd recommend to read up on using USB sniffers to
 capture the windows driver traffic.  The drivers for the FX2 parts
 tend to be relatively easy to sniff.  We already have a linux driver
 for the TDA18271, I *think* there is a driver available for that
 Fujitsu demod but it's not in the v4l-dvb master repository.
[snip]
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: How to make my device work with linux?

2009-10-01 Thread Mike Isely
On Thu, 1 Oct 2009, Wellington Terumi Uemura wrote:

 I was looking around to find that there is a driver for that Fujitsu
 MB86A16 inside the Linux Mantis Driver project, Fujitsu MB86A16
 DVB-S/DSS DC Receiver driver made by Manu Abraham
 http://www.verbraak.org/wiki/index.php/Linux_Mantis_driver.
 
 I've done a few tests with usbsnoop and other tools but USB sniffer
 doesn't see any valid command, jut a bunch of bytes that makes no
 sense:
 http://www.isely.net/pvrusb2/firmware.html#FX2

What you've pointed at here is a page that describes using a trick with 
the pvrusb2 driver to suck an image of the FX2 firmware out of the FX2 
processor itself.  That won't work in your case however since it 
requires that the pvrusb2 driver already be talking to the chip.  The 
procedure documented at that link is really about firmware extraction 
not reverse-engineering the data link protocol between the FX2 and the 
host.

 
 I will try my luck compiling that Fujitsu driver, but my best guess is
 that without a proper I/O from that FX2 it will end up with nothing at
 all.

It's that data link protocol that you need to understand.  Please 
realize that the FX2 is just an 8051 microcontroller which happens to 
have a fairly interesting USB device interface resident on the same 
silicon.  Beyond that, the chip's behavior is really up to whatever the 
firmware does.  For pvrusb2-driven devices that firmware's behavior is 
pretty well understood.  That driver also benefits from the fact that 
essentially all USB hosted analog (and some hybrid) capture cards with 
an mpeg encoder and an FX2 all are derivations from a reference design 
by a single vendor.  That reference design included reference 
firmware, which each manufacturer of course tweaked a bit.  For that 
reason, all those different devices tend to implement a similar enough 
data link protocol that the pvrusb2 driver can handle them all with the 
same implementation.

The problem is, we don't know if any of that is true for your device.  
You are dealing with a digital-only capture device so it can't be based 
on that same reference design.  It is entirely sensible that the FX2 
firmware was set up in that case with similar requirements in mind so 
the result *might* be similar in behavior.  But it really isn't known.  
So when you scan documentation for other drivers (e.g. pvrusb2) you must 
really look at it all with a rather large helping of scepticism.

Mike Krufky mentions a driver for the TDA18271 and he's right.  There is 
one - because the pvrusb2 driver also relies on that when driving an 
HVR-1950 capture device which happens to use that same part.  But that 
isn't the driver you need.  What you need is a bridge driver that can 
implement the host side of the data link protocol implemented by your 
device's FX2.  That is what the pvrusb2 driver does for the capture 
devices it handles.  With the proper bridge driver set up, then the 
TDA18271 sub-device driver can ride over that data link to establish 
communications with its hardware in the device.  THEN you'll be on the 
way to having something working.

I know that none of the about is the answer you're looking for.  But 
perhaps it will lead you in the right direction.  It is entirely 
possible that there is another bridge driver out there which can handle 
this part, but I can't help you there.

  -Mike


-- 

Mike Isely
isely @ isely (dot) net
PGP: 03 54 43 4D 75 E5 CC 92 71 16 01 E2 B5 F5 C1 E8
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: How to make my device work with linux?

2009-10-01 Thread Wellington Terumi Uemura
It's not the answer that I was looking for but looks like the thing is
much more complex than just compile and run drivers, this gives me
another perspective, like a dead end.

Thank you Mike.

2009/10/1 Mike Isely is...@isely.net:
 I know that none of the about is the answer you're looking for.  But
 perhaps it will lead you in the right direction.  It is entirely
 possible that there is another bridge driver out there which can handle
 this part, but I can't help you there.
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: How to make my device work with linux?

2009-10-01 Thread Devin Heitmueller
On Thu, Oct 1, 2009 at 6:03 PM, Wellington Terumi Uemura
wellingtonuem...@gmail.com wrote:
 It's not the answer that I was looking for but looks like the thing is
 much more complex than just compile and run drivers, this gives me
 another perspective, like a dead end.

 Thank you Mike.

Well, it's certainly possible to get it to work if you're willing to
make the investment.  It's just one of those situations where you
realize quickly that you're going to have to be prepared to do *way*
more work than just adding a new board profile.  Just because there
are drivers for the chips on your device doesn't mean that it is
trivial to get working.

Cheers,

Devin

-- 
Devin J. Heitmueller - Kernel Labs
http://www.kernellabs.com
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: How to make my device work with linux?

2009-10-01 Thread Mike Isely
On Thu, 1 Oct 2009, Devin Heitmueller wrote:

 On Thu, Oct 1, 2009 at 6:03 PM, Wellington Terumi Uemura
 wellingtonuem...@gmail.com wrote:
  It's not the answer that I was looking for but looks like the thing is
  much more complex than just compile and run drivers, this gives me
  another perspective, like a dead end.
 
  Thank you Mike.
 
 Well, it's certainly possible to get it to work if you're willing to
 make the investment.  It's just one of those situations where you
 realize quickly that you're going to have to be prepared to do *way*
 more work than just adding a new board profile.  Just because there
 are drivers for the chips on your device doesn't mean that it is
 trivial to get working.
 
 Cheers,
 
 Devin
 

And actually I wasn't intending on totally discouraging you either.  
But you do need to see the perspective of what you're trying to do 
otherwise you may just get frustrated.

Things aren't hopeless.  The cxusb module in DVB might be something you 
should look at.  I guess it depends on how deep you wish to dive here.

  -Mike


-- 

Mike Isely
isely @ isely (dot) net
PGP: 03 54 43 4D 75 E5 CC 92 71 16 01 E2 B5 F5 C1 E8
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: How to make my device work with linux?

2009-10-01 Thread Wellington Terumi Uemura
To tell you the truth, I think is a bad habit that come from MAME
emulator, you know. You knew that the driver is there and you just
need to add the right information to get it working, now I see that I
was wrong :D

I will take a look inside the cxusb and see what I can pull off from that.

Thank you Mike!

2009/10/1 Mike Isely is...@isely.net:
 And actually I wasn't intending on totally discouraging you either.
 But you do need to see the perspective of what you're trying to do
 otherwise you may just get frustrated.

 Things aren't hopeless.  The cxusb module in DVB might be something you
 should look at.  I guess it depends on how deep you wish to dive here.
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html