* [linux-dvb] au0828: experimental support for Syntek Teledongle [05e1:0400]
@ 2009-08-17 20:25 Malcolm Lewis
2009-08-17 20:59 ` Michael Krufky
0 siblings, 1 reply; 7+ messages in thread
From: Malcolm Lewis @ 2009-08-17 20:25 UTC (permalink / raw)
To: linux-dvb
Hi
I've been using the patches from
http://linuxtv.org/hg/~mkrufky/teledongle/rev/676e2f4475ed
on a Sabrent device in openSuSE and SLED, during testing with the
milestone 5 release of
11.2 and kernel version 2.6.31-rc5-git3-2-desktop there needs to be
some changes to the
au0828-cards.c patch to enable building a kmp module;
--- au0828-cards.c 2009-08-12 18:16:39.435886920 -0500
+++ au0828-cards.c.orig 2009-08-12 18:28:22.176126368 -0500
@@ -116,6 +116,12 @@
.tuner_addr = ADDR_UNSET,
.i2c_clk_divider = AU0828_I2C_CLK_250KHZ,
},
+ [AU0828_BOARD_SYNTEK_TELEDONGLE] = {
+ .name = "Syntek Teledongle [EXPERIMENTAL]",
+ .tuner_type = UNSET,
+ .tuner_addr = ADDR_UNSET,
+ .i2c_clk_divider = AU0828_I2C_CLK_250KHZ,
+ },
};
/* Tuner callback function for au0828 boards. Currently only needed
@@ -248,6 +254,7 @@
case AU0828_BOARD_HAUPPAUGE_HVR950Q:
case AU0828_BOARD_HAUPPAUGE_HVR950Q_MXL:
case AU0828_BOARD_HAUPPAUGE_WOODBURY:
+ case AU0828_BOARD_SYNTEK_TELEDONGLE: /* FIXME */
/* GPIO's
* 4 - CS5340
* 5 - AU8522 Demodulator
@@ -325,6 +332,8 @@
.driver_info = AU0828_BOARD_HAUPPAUGE_HVR950Q_MXL },
{ USB_DEVICE(0x2040, 0x8200),
.driver_info = AU0828_BOARD_HAUPPAUGE_WOODBURY },
+ { USB_DEVICE(0x05e1, 0x0400),
+ .driver_info = AU0828_BOARD_SYNTEK_TELEDONGLE },
{ },
};
There are two versions I'm building and src for both can be found here;
http://download.opensuse.org/repositories/home:/malcolmlewis/
--
Cheers
Malcolm
_______________________________________________
linux-dvb users mailing list
For V4L/DVB development, please use instead linux-media@vger.kernel.org
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
^ permalink raw reply [flat|nested] 7+ messages in thread* Re: [linux-dvb] au0828: experimental support for Syntek Teledongle [05e1:0400] 2009-08-17 20:25 [linux-dvb] au0828: experimental support for Syntek Teledongle [05e1:0400] Malcolm Lewis @ 2009-08-17 20:59 ` Michael Krufky 2009-08-17 21:20 ` Malcolm Lewis 2009-08-18 11:00 ` Johannes Stezenbach 0 siblings, 2 replies; 7+ messages in thread From: Michael Krufky @ 2009-08-17 20:59 UTC (permalink / raw) To: linux-media; +Cc: linux-dvb On Mon, Aug 17, 2009 at 4:25 PM, Malcolm Lewis<coyoteuser@gmail.com> wrote: > Hi > I've been using the patches from > http://linuxtv.org/hg/~mkrufky/teledongle/rev/676e2f4475ed > on a Sabrent device in openSuSE and SLED, during testing with the > milestone 5 release of > 11.2 and kernel version 2.6.31-rc5-git3-2-desktop there needs to be > some changes to the > au0828-cards.c patch to enable building a kmp module; > > --- au0828-cards.c 2009-08-12 18:16:39.435886920 -0500 > +++ au0828-cards.c.orig 2009-08-12 18:28:22.176126368 -0500 > @@ -116,6 +116,12 @@ > .tuner_addr = ADDR_UNSET, > .i2c_clk_divider = AU0828_I2C_CLK_250KHZ, > }, > + [AU0828_BOARD_SYNTEK_TELEDONGLE] = { > + .name = "Syntek Teledongle [EXPERIMENTAL]", > + .tuner_type = UNSET, > + .tuner_addr = ADDR_UNSET, > + .i2c_clk_divider = AU0828_I2C_CLK_250KHZ, > + }, > }; > > /* Tuner callback function for au0828 boards. Currently only needed > @@ -248,6 +254,7 @@ > case AU0828_BOARD_HAUPPAUGE_HVR950Q: > case AU0828_BOARD_HAUPPAUGE_HVR950Q_MXL: > case AU0828_BOARD_HAUPPAUGE_WOODBURY: > + case AU0828_BOARD_SYNTEK_TELEDONGLE: /* FIXME */ > /* GPIO's > * 4 - CS5340 > * 5 - AU8522 Demodulator > @@ -325,6 +332,8 @@ > .driver_info = AU0828_BOARD_HAUPPAUGE_HVR950Q_MXL }, > { USB_DEVICE(0x2040, 0x8200), > .driver_info = AU0828_BOARD_HAUPPAUGE_WOODBURY }, > + { USB_DEVICE(0x05e1, 0x0400), > + .driver_info = AU0828_BOARD_SYNTEK_TELEDONGLE }, > { }, > }; > > > There are two versions I'm building and src for both can be found here; > http://download.opensuse.org/repositories/home:/malcolmlewis/ Malcolm, I would strongly advise against distributing packages based on these patches... This code was never merged into the master branch because it has potential to break devices at the hardware level, and it will create a support nightmare, based on the fact that there are multiple UNLIKE devices that use the same USB ID but actually contain different hardware components. As the patch may enable support for ONE of the variations, nobody has ever verified that the GPIO programming is safe to use, and there is no way to prevent the potentially harmful code from running on the wrong device. I, personally, do not want the responsibility of explaining to users that their usb sticks may be damaged because of code that got merged into the kernel -- that's why the code is in a separate repository until the issues can be dealt with. In general, users know that if they have to manually apply patches themselves, that they are doing so at their own risk. If you succeed in getting your device to work, please let me know -- I will be very interested to hear about it. Good Luck, Mike ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [linux-dvb] au0828: experimental support for Syntek Teledongle [05e1:0400] 2009-08-17 20:59 ` Michael Krufky @ 2009-08-17 21:20 ` Malcolm Lewis 2009-08-18 11:00 ` Johannes Stezenbach 1 sibling, 0 replies; 7+ messages in thread From: Malcolm Lewis @ 2009-08-17 21:20 UTC (permalink / raw) To: linux-media On Mon, Aug 17, 2009 at 3:59 PM, Michael Krufky<mkrufky@kernellabs.com> wrote: > On Mon, Aug 17, 2009 at 4:25 PM, Malcolm Lewis<coyoteuser@gmail.com> wrote: >> Hi >> I've been using the patches from >> http://linuxtv.org/hg/~mkrufky/teledongle/rev/676e2f4475ed >> on a Sabrent device in openSuSE and SLED, during testing with the >> milestone 5 release of >> 11.2 and kernel version 2.6.31-rc5-git3-2-desktop there needs to be >> some changes to the >> au0828-cards.c patch to enable building a kmp module; >> >> --- au0828-cards.c 2009-08-12 18:16:39.435886920 -0500 >> +++ au0828-cards.c.orig 2009-08-12 18:28:22.176126368 -0500 >> @@ -116,6 +116,12 @@ >> .tuner_addr = ADDR_UNSET, >> .i2c_clk_divider = AU0828_I2C_CLK_250KHZ, >> }, >> + [AU0828_BOARD_SYNTEK_TELEDONGLE] = { >> + .name = "Syntek Teledongle [EXPERIMENTAL]", >> + .tuner_type = UNSET, >> + .tuner_addr = ADDR_UNSET, >> + .i2c_clk_divider = AU0828_I2C_CLK_250KHZ, >> + }, >> }; >> >> /* Tuner callback function for au0828 boards. Currently only needed >> @@ -248,6 +254,7 @@ >> case AU0828_BOARD_HAUPPAUGE_HVR950Q: >> case AU0828_BOARD_HAUPPAUGE_HVR950Q_MXL: >> case AU0828_BOARD_HAUPPAUGE_WOODBURY: >> + case AU0828_BOARD_SYNTEK_TELEDONGLE: /* FIXME */ >> /* GPIO's >> * 4 - CS5340 >> * 5 - AU8522 Demodulator >> @@ -325,6 +332,8 @@ >> .driver_info = AU0828_BOARD_HAUPPAUGE_HVR950Q_MXL }, >> { USB_DEVICE(0x2040, 0x8200), >> .driver_info = AU0828_BOARD_HAUPPAUGE_WOODBURY }, >> + { USB_DEVICE(0x05e1, 0x0400), >> + .driver_info = AU0828_BOARD_SYNTEK_TELEDONGLE }, >> { }, >> }; >> >> >> There are two versions I'm building and src for both can be found here; >> http://download.opensuse.org/repositories/home:/malcolmlewis/ > > > Malcolm, > > I would strongly advise against distributing packages based on these > patches... This code was never merged into the master branch because > it has potential to break devices at the hardware level, and it will > create a support nightmare, based on the fact that there are multiple > UNLIKE devices that use the same USB ID but actually contain different > hardware components. As the patch may enable support for ONE of the > variations, nobody has ever verified that the GPIO programming is safe > to use, and there is no way to prevent the potentially harmful code > from running on the wrong device. > > I, personally, do not want the responsibility of explaining to users > that their usb sticks may be damaged because of code that got merged > into the kernel -- that's why the code is in a separate repository > until the issues can be dealt with. In general, users know that if > they have to manually apply patches themselves, that they are doing so > at their own risk. > > If you succeed in getting your device to work, please let me know -- I > will be very interested to hear about it. > > Good Luck, > > Mike > > _______________________________________________ > linux-dvb users mailing list > For V4L/DVB development, please use instead linux-media@vger.kernel.org > linux-dvb@linuxtv.org > http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb > Hi Mike Ahh, OK :) I can confirm I've had no issues using it with smplayer on openSuSE 11.0, openSuSE 11.1 and openSuSE 11.2 M5 i586 (ViA Artigo and ASUS 1000HE) and SLED 11 x86_64 (home build AMD 4400 X2 system). System tunes into FTA HDTV great, have scan in different areas and all scanned channels found have worked. (I'm in Mississippi) I'm happy to do further testing if you can advise on what is required. -- Cheers Malcolm ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [linux-dvb] au0828: experimental support for Syntek Teledongle [05e1:0400] 2009-08-17 20:59 ` Michael Krufky 2009-08-17 21:20 ` Malcolm Lewis @ 2009-08-18 11:00 ` Johannes Stezenbach 2009-08-18 14:07 ` Devin Heitmueller 1 sibling, 1 reply; 7+ messages in thread From: Johannes Stezenbach @ 2009-08-18 11:00 UTC (permalink / raw) To: Michael Krufky; +Cc: linux-media, linux-dvb On Mon, Aug 17, 2009 at 04:59:42PM -0400, Michael Krufky wrote: > > variations, nobody has ever verified that the GPIO programming is safe > to use, and there is no way to prevent the potentially harmful code > from running on the wrong device. > > I, personally, do not want the responsibility of explaining to users > that their usb sticks may be damaged because of code that got merged I would be interested to know if someone _actually_ managed to break their hardware by using buggy drivers. IANAL but I think that consumer electronics hardware which can be damaged by software is broken by design. A vendor selling such hardware is stupid because people would return the broken hardware and get a replacement. I don't see how a vendor could proof that the device was not damaged by an obscure bug in the Windows driver to get around their responsibility to replace broken hardware within the warranty period. Johannes ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [linux-dvb] au0828: experimental support for Syntek Teledongle [05e1:0400] 2009-08-18 11:00 ` Johannes Stezenbach @ 2009-08-18 14:07 ` Devin Heitmueller 2009-08-20 2:38 ` hermann pitton 2009-08-20 14:32 ` Johannes Stezenbach 0 siblings, 2 replies; 7+ messages in thread From: Devin Heitmueller @ 2009-08-18 14:07 UTC (permalink / raw) To: linux-media; +Cc: Michael Krufky, linux-dvb On Tue, Aug 18, 2009 at 7:00 AM, Johannes Stezenbach<js@linuxtv.org> wrote: > I would be interested to know if someone _actually_ managed > to break their hardware by using buggy drivers. The short answer is *absolutely*. /me takes off "driver developer hat" and puts on "hardware developer hat" In a world of flash, eeproms, and software programmable clocks, there are all sorts of ways where a driver bug can damage the hardware. Looking for some simple examples? 1. Think of the "overclocking" community and what happens when they reconfigure a GPU's software controlled clock to perform beyond its maximum expected rating without extra cooling. 2. Think of all the reports of corrupted eeproms you read about on the mailing list. Sure, in many cases a good developer can hack a way to reprogram the eeprom in software, but in many cases the board won't even come up, so you end up with an RMA. It's not "damaged" in the more traditional sense, but the net effect is the same - the board is rendered inoperable and has to be sent back to the manufacturer. 3. Try loading the xc3028 tuner firmware onto the low power version of the chip (xc3028l). It took me a minute before I realized the smell of burning plastic was coming from my tuner. Don't get me wrong, in many cases things can be designed into the hardware to mitigate the effects of software bugs. In any hardware design, your goal is to minimize the return rate, so you build failsafes for the most likely to occur problems. However, in many cases this adds additional cost to the BOM, and you make educated decisions about the probability of certain classes of failure and instead build the reliability into the driver instead (making sure that the Windows driver can *never* put the hardware into a state). A random open source developer doesn't know what these sorts of decisions were, and would not be able to replicate the corresponding checks in a Linux driver. 4. Ever see a user complaint of how a tuner runs "hot" under Linux compared to the same device running under Windows? Almost certainly an improperly GPIO configuration which resulted in a condition such as having the digital demod powered on at the same time as the analog decoder. Sure, it will work for a while but you're running the device outside of the expected thermal profile and shortening the life of the hardware. The above are just a few *simple* examples. The nastier ones are often too difficult to explain in less than fifty words. > IANAL but > I think that consumer electronics hardware which can be damaged by > software is broken by design. A vendor selling such hardware is > stupid because people would return the broken hardware and get > a replacement. I don't see how a vendor could proof that the device > was not damaged by an obscure bug in the Windows driver to get > around their responsibility to replace broken hardware within > the warranty period. Yeah, you're right. Usually they cannot tell right away and will perform an RMA. And the board will end up on a lab bench with a hardware engineering isolating which component failed, and then working with the driver developer trying to figure out how the hell their Windows driver put the board in such a state. The risk of trusting some random Linux developer's driver work is a reason why some vendors don't want to support Linux. If I were a vendor, and I endorsed a Linux driver written by someone without the appropriate knowledge of the hardware, I could end up with large number of product returns, and I would incur the cost of those losses. Also, in many cases the board doesn't burn out immediately. But because of crappy drivers it takes three or four months to burn out, and the result is a board that is designed to run without problems for tens of thousands of hours dies in a significantly shorter time. Good device driver developers realize and accept this risk whenever they attempt to write a reverse engineered driver. I certainly don't want to discourage people from learning how to write Linux drivers for tuners, but caveat emptor - you can end up permanently damaging your hardware. Devin -- Devin J. Heitmueller - Kernel Labs http://www.kernellabs.com ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [linux-dvb] au0828: experimental support for Syntek Teledongle [05e1:0400] 2009-08-18 14:07 ` Devin Heitmueller @ 2009-08-20 2:38 ` hermann pitton 2009-08-20 14:32 ` Johannes Stezenbach 1 sibling, 0 replies; 7+ messages in thread From: hermann pitton @ 2009-08-20 2:38 UTC (permalink / raw) To: linux-media, Johannes Stezenbach; +Cc: linux-dvb, Michael Krufky Am Dienstag, den 18.08.2009, 10:07 -0400 schrieb Devin Heitmueller: > On Tue, Aug 18, 2009 at 7:00 AM, Johannes Stezenbach<js@linuxtv.org> wrote: > > I would be interested to know if someone _actually_ managed > > to break their hardware by using buggy drivers. > > The short answer is *absolutely*. > > /me takes off "driver developer hat" and puts on "hardware developer hat" > > In a world of flash, eeproms, and software programmable clocks, there > are all sorts of ways where a driver bug can damage the hardware. > Looking for some simple examples? > > 1. Think of the "overclocking" community and what happens when they > reconfigure a GPU's software controlled clock to perform beyond its > maximum expected rating without extra cooling. > > 2. Think of all the reports of corrupted eeproms you read about on > the mailing list. Sure, in many cases a good developer can hack a way > to reprogram the eeprom in software, but in many cases the board won't > even come up, so you end up with an RMA. It's not "damaged" in the > more traditional sense, but the net effect is the same - the board is > rendered inoperable and has to be sent back to the manufacturer. > > 3. Try loading the xc3028 tuner firmware onto the low power version > of the chip (xc3028l). It took me a minute before I realized the > smell of burning plastic was coming from my tuner. > > Don't get me wrong, in many cases things can be designed into the > hardware to mitigate the effects of software bugs. In any hardware > design, your goal is to minimize the return rate, so you build > failsafes for the most likely to occur problems. However, in many > cases this adds additional cost to the BOM, and you make educated > decisions about the probability of certain classes of failure and > instead build the reliability into the driver instead (making sure > that the Windows driver can *never* put the hardware into a state). A > random open source developer doesn't know what these sorts of > decisions were, and would not be able to replicate the corresponding > checks in a Linux driver. > > 4. Ever see a user complaint of how a tuner runs "hot" under Linux > compared to the same device running under Windows? Almost certainly > an improperly GPIO configuration which resulted in a condition such as > having the digital demod powered on at the same time as the analog > decoder. Sure, it will work for a while but you're running the device > outside of the expected thermal profile and shortening the life of the > hardware. > > The above are just a few *simple* examples. The nastier ones are > often too difficult to explain in less than fifty words. > > > IANAL but > > I think that consumer electronics hardware which can be damaged by > > software is broken by design. A vendor selling such hardware is > > stupid because people would return the broken hardware and get > > a replacement. I don't see how a vendor could proof that the device > > was not damaged by an obscure bug in the Windows driver to get > > around their responsibility to replace broken hardware within > > the warranty period. > > Yeah, you're right. Usually they cannot tell right away and will > perform an RMA. And the board will end up on a lab bench with a > hardware engineering isolating which component failed, and then > working with the driver developer trying to figure out how the hell > their Windows driver put the board in such a state. The risk of > trusting some random Linux developer's driver work is a reason why > some vendors don't want to support Linux. If I were a vendor, and I > endorsed a Linux driver written by someone without the appropriate > knowledge of the hardware, I could end up with large number of product > returns, and I would incur the cost of those losses. > > Also, in many cases the board doesn't burn out immediately. But > because of crappy drivers it takes three or four months to burn out, > and the result is a board that is designed to run without problems for > tens of thousands of hours dies in a significantly shorter time. > > Good device driver developers realize and accept this risk whenever > they attempt to write a reverse engineered driver. I certainly don't > want to discourage people from learning how to write Linux drivers for > tuners, but caveat emptor - you can end up permanently damaging your > hardware. > > Devin > Hi, again, both can be right. I don't deny the smell you had, what a crap on the other hand. But Johannes is right too. I did not manage to burn a single Philips device during the last seven years. And i did all the worst every single day ;) So, there might be still a slight difference ... Cheers, Hermann ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [linux-dvb] au0828: experimental support for Syntek Teledongle [05e1:0400] 2009-08-18 14:07 ` Devin Heitmueller 2009-08-20 2:38 ` hermann pitton @ 2009-08-20 14:32 ` Johannes Stezenbach 1 sibling, 0 replies; 7+ messages in thread From: Johannes Stezenbach @ 2009-08-20 14:32 UTC (permalink / raw) To: Devin Heitmueller; +Cc: linux-media, linux-dvb, Michael Krufky On Tue, Aug 18, 2009 at 10:07:04AM -0400, Devin Heitmueller wrote: > The risk of > trusting some random Linux developer's driver work is a reason why > some vendors don't want to support Linux. If I were a vendor, and I > endorsed a Linux driver written by someone without the appropriate > knowledge of the hardware, I could end up with large number of product > returns, and I would incur the cost of those losses. This is an interesting statement. Let me rephrase it: If I were a vendor selling ill-designed hardware which can be permanently damaged by buggy software, I'd make sure as hell that I get the information about how to avoid the damage out to every Open Source developer. Otherwise I would have to live with the risk of seeing an increased rate of product returns. BTW, there is a big difference of "after I plugged the device in under Linux it was dead" and "it runs hot under Linux, that might shorten the life span". I hope there is no hardware of the first kind. For the second kind you can fairly safely experiment until you solved the problem. Thanks, Johannes ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2009-08-20 14:32 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2009-08-17 20:25 [linux-dvb] au0828: experimental support for Syntek Teledongle [05e1:0400] Malcolm Lewis 2009-08-17 20:59 ` Michael Krufky 2009-08-17 21:20 ` Malcolm Lewis 2009-08-18 11:00 ` Johannes Stezenbach 2009-08-18 14:07 ` Devin Heitmueller 2009-08-20 2:38 ` hermann pitton 2009-08-20 14:32 ` Johannes Stezenbach
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox