V4L2 radio tuner si4702

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

V4L2 radio tuner si4702

757 Views
_Anthony
Contributor II

Hello all,

I am working with an i.MX6 SOM and receiver radio module si4702 and I meet a weird message in dmesg with Linux Kernel 4.19 V4L2 driver.
So I activate the driver I2C_SI470X because the module is wired in I2C in my embedded card.
After the system boot, the driver success to probe the componant and the node “/dev/radio0” is created.

The problem is, I’ve got the following message from the video4linux driver:

[ 117.283199] video4linux radio0: tune does not complete
[ 117.288378] video4linux radio0: tune timed out after 3000 ms

and because of this, when I use a user-space util to control the tuner like fmtool, the previous message appears and it fails to tune to the frequency I want.

Whithout the driver, I can use I2c commands to tune what I want, but as the kernel 4.19 propose a driver for my tuner si4702, I would like to use it.

Does someone already encountered the same issue or has any idea about what’s going wrong?
Maybe it’s just an other driver to load in the kernel, but I don’t know what.

The linux command "v4l2-compliance -d /dev/radio0" return:

 

Required ioctls:
fail: ../../../v4l-utils-1.16.5/utils/v4l2-compliance/v4l2-compliance.cpp(236): string empty
fail: ../../../v4l-utils-1.16.5/utils/v4l2-compliance/v4l2-compliance.cpp(466): check_ustring(vcap.bus)
test VIDIOC_QUERYCAP: FAIL

Allow for multiple opens:
test second /dev/radio0 open: OK
fail: ../../../v4l-utils-1.16.5/utils/v4l2-compliance/v4l2-compliance.cpp(236): string empty
fail: ../../../v4l-utils-1.16.5/utils/v4l2-compliance/v4l2-compliance.cpp(466): check_ustring(vcap.bus)
test VIDIOC_QUERYCAP: FAIL
test VIDIOC_G/S_PRIORITY: OK
test for unlimited opens: OK

After tuning

Thanks for all and best reguards.

0 Kudos
2 Replies

749 Views
jamesbone
NXP TechSupport
NXP TechSupport

After loading the module, you still have access to some of them in the sysfs mount under /sys/module/radio_si470x/parameters. The contents of read-only files (0444)are not updated, even if space, band and de are changed using private video controls. The others are runtime changeable.
Increase tune_timeout, if you often get -EIO errors.

https://android.googlesource.com/kernel/tegra/+/bbc8995f9fa3f9cdd77aeb7c9bbf5bf526feca3c%5E!/

 

 

0 Kudos

735 Views
_Anthony
Contributor II

Hello,

Thanks for the reply but increasing tune_timeout in the driver source code did not solve my problem.

I discovered a strange behaviour:

If I use fmtools with the command:

"./fm 105.5", then, I heard a pop in my loud speaker and after, I heard nothing.

And when I do a ctrl+z in the same time I do the command "./fm 105.5", then I heard the radio channel 105.5 perfectly clear in my loud speaker.

I try to debug by print and with a 3 second delay in driver channel function, It seems to be the function "fops_release", when it's called that stop the sound in my loud speaker.

 

Does someone got an idea about what could do the driver?

Thanks for all and best reguards.

0 Kudos