Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Linux drivers #1

Closed
BLecha opened this issue Sep 19, 2019 · 7 comments
Closed

Linux drivers #1

BLecha opened this issue Sep 19, 2019 · 7 comments

Comments

@BLecha
Copy link

BLecha commented Sep 19, 2019

Hallo everyone,

I wanted to say that I am having the following issue.

It happens the same both with your modified linux drivers and hides inc original ones as well.

I am using utc 100 modulator tsrfsend ffmpeg and the linux drivers.

On linux kernel starting from 4.13 to the latest it happens the following.

I start the Script ffmpeg
ffmpeg -loglevel error -f alsa -ar 48000 -i pulse -f x11grab -framerate 25 -r 25
-video_size 1024x576 -acodec mp3 -i :0.0 -c:v mpeg2video -s $1 -aspect 16:9 -f mpegts
-mpegts_original_network_id 1 -mpegts_transport_stream_id 1
-mpegts_service_id 1 -mpegts_pmt_start_pid 1000 -mpegts_start_pid 1001
-metadata service_provider="DIGITAL VISIONS"
-metadata service_name=$2
-b:v 8372k -b:a 48k -y /home/da/dv/videots 2>> /home/da/dv/livecast.log``
which captures my desktop to the named pipe videots

then i run the Script tsrfsend
tsrfsend /home/da/dv/videots $NUML_DEVICE $3 8000 64 7/8 1/32 8 0 0 2>> /home/da/dv/livecast.log

which sends the data from named pipe videots

I installed the linux drivers and everything correctly.

Ubuntu 16.04 lts, 17.04 lts 18.04 lts with the linux kernels >= 4.13 .

What happens is that everything works fine at the beggining my desktop is displayed in the tv in the corresponding channel. But after 10 minutes its stops the tv screen says no signal found and is black, without any error or any other info.

When I check on ubuntu via top command I can see that ffmpeg and tsrfsend both are actually working fine.

So it is for sure the linux driver issue. And it happens with both your modified one and the original one.

Do you have any idea about this problem?

Kind Regards

Lecha

@lelegard
Copy link
Member

Hi,

I have used the HiDes drivers only in the context of the TSDuck project. I do not know the command tsrfsend that you are using. You should check with the author of this software.

Alternatively, you may try the hides output plugin for tsp.

@BLecha
Copy link
Author

BLecha commented Sep 19, 2019

@lelegard Hallo first of all thank you very much for answering.
We have bought from hides inc the tv modulators utc 100 and the linux drivers and the tsrfsend were shipped with.
The tsrfsend is a programm written in c which is responsible for sending the data to the modulator.
I have a question, if you are using these linux drivers from hides inc that means you are using the modulator from them right?
Could you tell me your scenario "I have used the HiDes drivers only in the context of the TSDuck project" are you sending video and audio data to the modulator? And I suppose you are talking about utc 100 modulator and the linux drivers for it right?
And if yes how can I use the TSDuck project to achieve my goal which is sending the video and audio data to the modulator.
And "Alternatively, you may try the hides output plugin for tsp." what do you mean by this?
I would really appreciate any help in this problem and once again I am open to any solution which works.

Kind Regards and thanks again

Lecha

@lelegard
Copy link
Member

Hi,

The Linux drivers in this project are identical to the original ones from ITE with some corrections such as fixing the awfully stupid polling strategy, replacing it with a standard wait strategy. And, yes, they use UTC-100 devices.

The project is part of the TSDuck organization on GitHub.

TSDuck is an open source project to manipulate transport streams. It can interface many different kinds of input and output, one of the outputs being HiDes modulators. The program named tsp is the transport stream processor, the main component in TSDuck. Its hides plugin is the output plugin which interfaces HiDes modulators.

Please have a look at the TSDuck Web site and user's guide for more details.

@antoineagscom
Copy link

Hello,

I'm on Fedora 31

uname -a
Linux localhost-live 5.5.11-200.fc31.x86_64 #1 SMP Mon Mar 23 17:32:43 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

I compile your last version of tsduck
tsp: TSDuck - The MPEG Transport Stream Toolkit - version 3.21-1703

But when i try to install drivers for hides, i have many troubles
Mise à jour / installation...
1:hides-dkms-16.11.10.1w-0.fc31 ################################# [ 50%]

Creating symlink /var/lib/dkms/hides/16.11.10.1w/source ->
/usr/src/hides-16.11.10.1w

DKMS: add completed.

Kernel preparation unnecessary for this kernel. Skipping...

Building module:
cleaning build area....
'make' KERNELDIR=/lib/modules/5.5.11-200.fc31.x86_64/build....(bad exit status: 2)
Error! Bad return status for module build on kernel: 5.5.11-200.fc31.x86_64 (x86_64)
Consult /var/lib/dkms/hides/16.11.10.1w/build/make.log for more information.

Kernel preparation unnecessary for this kernel. Skipping...

Building module:
cleaning build area....
'make' KERNELDIR=/lib/modules/5.5.11-200.fc31.x86_64/build....(bad exit status: 2)
Error! Bad return status for module build on kernel: 5.5.11-200.fc31.x86_64 (x86_64)
Consult /var/lib/dkms/hides/16.11.10.1w/build/make.log for more information.


Deleting module version: 16.11.10.1w
completely from the DKMS tree.

Done.
Nettoyage/suppression...
2:hides-dkms-16.11.10.1w-0.fc31 ################################# [100%]

I see hides devices on usb connector

lsusb
Bus 001 Device 005: ID 048d:9507 Integrated Technology Express, Inc. ITE it9507 full featured DVB-T transmission chip [ccHDtv]
Bus 001 Device 003: ID 048d:9507 Integrated Technology Express, Inc. ITE it9507 full featured DVB-T transmission chip [ccHDtv]

But tshides not working, and i don't understand
tshides -v
No HiDes device found

Have you and idea ?

@lelegard
Copy link
Member

The messages say that the compilation of the Hides drivers failed on kernel 5.5. It happens on a regular basis with Linux drivers. The Linux kernel API is not stable, it changes all the time and drivers need to adapt. New versions and patches must be provided all the time for Linux drivers which are provided outside the normal kernel distribution.

I regularly have the case with Dektec drivers. Their compilation regularly breaks on the most recent kernels (usually using the latest Fedora). But the Dektec software is carefully maintained and the required changes are released soon after by Dektec.

The Hides drivers, on the other hand, are not very well maintained. You should check if new versions are available from Hides. Otherwise, you will need to patch the drivers yourself.

This is a recurrent issue for poorly maintained Linux drivers.

@antoineagscom
Copy link

Thanks for your reply,

Which version of fedora is OK ?

I research the best solution for a server (fedora, debian, ubuntu ...)

do you think it is the most suitable and robust distribution for a server on Linux ?

@lelegard
Copy link
Member

Which version of fedora is OK ?

This is not a problem of Fedora version. All Fedora versions are OK. They all have a properly functioning kernel.

This is a problem of Hides driver version. They must evolve with the kernel but they don't. You can probably find some older version of Fedora, Ubuntu or whatever on which the current version of the drivers works. But you can't stay forever with an old version of the kernel. At some point, you need to move. And if the drivers for product X don't move with the kernel, then product X becomes a dead product.

Hides modulator are incredibly (excessively?) cheap. But the software support has always been poor as I experimented with TSDuck. The price was their success but their software will kill them.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

3 participants