The patch is good to go from my pov, if LE maintainers are interested in including in their builds/media_tree packages.
Will be submitting it 'as-is' to the upstream devs early next week.
Excellent, thanks a lot! I always thought that it's some small thing like this but just wasn't able to pinpoint it.
That did it. Error code PEBKAC for this case then. Whitelisted all 1080p and 2160p refresh rates that are supported by the TV.
Thanks Fritsch, much appreciated.
I've installed LE 8.90.006 on a Coffee Lake NUC (NUC8i3BEH) and keep getting glitches in the audio for DTS-X MSTR and Dolby TrueHD tracks. I've enabled audio passthrough for all formats and I'm connected to a Marantz SR6010 AV receiver with HDMI 2.0. The glitch is a minor pause in the audio track that sounds like a small click. This doesn't seem to happen with DD5.1 or regular DTS tracks. And of course if I disable the "Allow passthrough" option it works ok.
Here are the logs when I play a simple DTS-X sample:
Just to be clear, I'm personally running an x86_64 setup instead of RPi, but issues could be the same or not.
jahutchi, you seem to be on x86 as well. Do you custom-build your setup with a specific 4.9 kernel?
I'm wondering how many of you are seeing this. I've got a DVBSky S960 and a TechnoTrend S2-4650 DVB-S2 USB tuners (both use the dvb-usb-dvbsky driver) and both are failing in the same way. Basically, the tuner works for a while and then you start to see errors like this in the logs:
2018-04-04 10:17:36.756 [ INFO] mpegts: 12149H in 4.8E - tuning on Montage Technology M88DS3103 : DVB-S #0
2018-04-04 10:17:37.159 [ ERROR] diseqc: failed to send diseqc cmd (e=Connection timed out)
2018-04-04 10:17:37.160 [ INFO] mpegts: 12265H in 4.8E - tuning on Montage Technology M88DS3103 : DVB-S #0
2018-04-04 10:17:37.535 [ ERROR] diseqc: failed to send diseqc cmd (e=Connection timed out)
And the tuner stops working completely. After a reboot things work ok for a while.
The problem is introduced since kernel 4.10. I did a kernel bisect between 4.9 and 4.10. It seems the commit that
breaks my tuner is the following one:
9d659ae14b545c4296e812c70493bfdc999b5c1c is the first bad commit
Author: Peter Zijlstra <[email protected]>
Date: Tue Aug 23 14:40:16 2016 +0200
locking/mutex: Add lock handoff to avoid starvation
This seems relatively harmless, and the mutex logic is used by countless of other drivers too. I've now confirmed that I can get a 4.10 kernel with working DVBSky S960 by reverting the following 4 patches from a vanilla 4.10 kernel:Code
549bdd3 Revert "locking/mutex: Add lock handoff to avoid starvation" 3210f31 Revert "locking/mutex: Restructure wait loop" 418a170 Revert "locking/mutex: Simplify some ww_mutex code in __mutex_lock_common()" 0b1fb8f Revert "locking/mutex: Enable optimistic spinning of woken waiter" c470abd Linux 4.10
I haven't been able to find a cause for this bug. I have reported it in the kernel bug tracker (199323 – DVBSky USB TV tuners do not work since 4.10 due to mutex issues) and to the linux-media mailing list (Regression: DVBSky S960 USB tuner doesn't work in 4.10 or newer — Linux media). In any case the ugly consequence of the bug is that I cannot use LE8 and watch satellite TV reliably.
I haven't seen the issue being reported that widely, hence this thread. I'd like to hear if anyone of you are seeing the same problem.
Yes, I still haven't gotten the device and when I asked them, they didn't get back to me anymore.
The manufacturer promised to ship me a device so I can try to build a working driver for it. The way I see it, it should not be too difficult, but will probably take a couple of weeks (provided I find the time to do it).
Here you go:
If the file still empty tell me please I will upload another.
Thanks, much better now.
It would seem to me that firmware upload takes place between packets 336 and 846. I've extracted the firmware and attaching it here.
Now with CvH we could attempt some more dirty hacks...
Is it necessary to start a channel because I have no access now to any satellite signal. I will do it and give you a feedback immediately but setting up the LNB on my roof is going to take a while. sorry for that
Probably not. The thing is, some drivers only load the firmware at the point where you try to use the device for the first time. But, you don't need to connect the LNB or anythign - you could just try to tune or scan even without any antenna cable connected. That should be enough.
Yes indeed it failed. here is the output Xji
Also tvheadend did not recognize any DVB Inputs
Unfortunately that doesn't take us very far. No additional debug was printed. I'm not sure if there's any way to activate the kernel module debugging in LE. CvH, any idea? I'm talking about the dynamic debugging feature that can be activated with something like this:
But that needs to be done before the module is loaded.
Also, the USB capture unfortunately doesn't contain anything. Can you do it like this:
1. Start USBlyzer with the device unplugged
2. Check the "Capture hot plugged" option on the Capture menu.
3. Start capture.
4. Plug the device.
5. Wait 10-15 seconds.
6. Start watching a channel using any software.
7. Stop the capture as soon as you see a picture (the quicker the better - the file will grow very fast).
Allright, so after looking at the logs with CvH this evening a bit, the following is clear.
The new TT S2-4600 contains an updated version of the M88DS3103 demodulator chip, the M88DS3103B. The USB bridge is the same. The current m88ds3103 driver in the Linux media_tree only supports M88DS3103 (chip ID 0x70) and M88RS6000 (chip ID 0x74). It does not support M88DS3103B (chip ID 0x75). Now, if the M88DS3103B and M88DS3103 are very similar with each other, as often is the case, then it will be quite easy to modify the driver to support also the B version. It goes without saying that if there are bigger differences between them it'll be more difficult.
Now what CvH did was a quick and dirty hack: make the m88ds3103 driver think that the chip ID of the standard M88DS3103 is 0x75 instead of 0x70. This means that when you plug in a new TT S2-4600, the driver will recognize the chip and continue initialization. However, this probably also means that the driver will try to load the M88DS3103 firmware into the M88DS3103B which will likely fail. In any case, trying out the build CvH pointed out could give us a bit more information.
If we could extract the firmware from the new TT S2-4600 Windows drivers (it's part of the .sys or .dll files) and replace the old M88DS3103 firmware with the new, we could even see if the firmware loading is successful. However, extracting the firmware would probably need some USB capture (I do that using USBlyzer software usually) of a Windows system at the time of device plug in. And some analysis of the capture of course...
I received my stick, loaded the 1.2 image, stick was detected and scan was perfect, never the less a lot of channels are giving continuity errors, I tried TVHeadend and DVR and no difference.
No, you're not doing anything wrong I'd guess. The driver has just taken its first steps and problems are expected.
You don't mention anything about the system that you're running LE on or the broadcast standards, but I'd guess you've got a DVB-C transponder that you're trying to tune to. I've gotten a few reports that the stick doesn't work reliably on some cable providers in some parts of Europe. There likely is some tuner parameter that would need to be adjusted in order to get a good reception. However, there are 93 tuner parameters that each can have 256 different values, so it's pretty difficult to start guessing what to change.
What you would normally do is to plug the stick into a Windows PC, capture the traffic on the USB bus and then start to compare that to what the Linux driver is doing. However, there are no Windows drivers for this stick! The only way is to plug the stick into a Xbox One and somehow capture the traffic between the Xbox and the tuner (either with a USB sniffer or an I2C analyzer) which is expensive and/or complicated. And to make things worse, the Xbox tuner officially doesn't work in all countries, so you can't necessarily even get it working in all countries...
I've got only DVB-T and DVB-T2 signal available here and the tuner works fine for me. I know this doesn't help you, but unfortunately I cannot do much to help you either. I'm hoping that now that the initial work with the tuner is done, there's a developer who has the expertise, time and the equipment to improve the DVB-C reception. There's also a good chance that it's actually not the TDA18250 tuner driver that needs to be changed but the MN88472 demodulator driver...
For what it's worth, I'm running DVBSky S960 in my livingroom PC (x86_64) and it works just fine. It's connected to a USB 3.0 port.
Some things to try to narrow down the issue:
- plug in only 1 tuner and try if it improves
- move the tuner from USB3 port to USB2 port (if possible)
I'm using LibreELEC 8.0.0 on Raspberry PI 3, and i want to buy a DVB-T dongle for live TV.
but i don't know how to check if it will work on my device or not (before I by it)
Any advice ?
That's the Astrometa DVB-T2 tuner. It has support of some level. DVB-T2 might work, can't remember exactly.
Astrometa DVB-T2 - LinuxTVWiki
I'd take something else though. I don't think there's a dirt-cheap Chinese DVB-T2 tuner that just works. Mygica T230 kind of works, but has its issues...
I just bought one TechnoTrend S2-4200! I would like to use it with the latest beta (LibreELEC (Krypton) v7.95.2 BETA with Linux 4.9.3 kernel). Could you kindly confirm that it will be supported? Do I have to install some firmware to use it (if yes, how? I am new to LibreElec)?
My TechnoTrend S2-3200 and my TBS 6928 are not working
S2-4200 should work out of the box, yes. If you're having issues, please log in to the LibreELEC box with SSH and run the command dmesg | paste and paste the output here. Then we can have a look to see if something goes wrong there...
I don't know the status for S2-3200 (that's an age old PCI card, right?) nor TBS 6928, but let me check a couple of things...
EDIT: Ok, a fellow co-developer who is into these things is saying that TT S2-3200 should work, but there's no driver for TBS 6928.