| Summary: | kernel upgrade broke support for FM tuner in saa7134 | |||
|---|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | John Fattaruso <moosedrool42> | |
| Component: | kernel | Assignee: | Jarod Wilson <jarodwilson> | |
| Status: | CLOSED NOTABUG | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | |
| Severity: | unspecified | Docs Contact: | ||
| Priority: | unspecified | |||
| Version: | 14 | CC: | gansalmon, itamar, jarod, jonathan, kernel-maint, madhu.chinakonda, mchehab | |
| Target Milestone: | --- | |||
| Target Release: | --- | |||
| Hardware: | i686 | |||
| OS: | Linux | |||
| Whiteboard: | ||||
| Fixed In Version: | Doc Type: | Bug Fix | ||
| Doc Text: | Story Points: | --- | ||
| Clone Of: | ||||
| : | 681520 (view as bug list) | Environment: | ||
| Last Closed: | 2011-03-02 17:32:05 UTC | Type: | --- | |
| Regression: | --- | Mount Type: | --- | |
| Documentation: | --- | CRM: | ||
| Verified Versions: | Category: | --- | ||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | ||
| Cloudforms Team: | --- | Target Upstream Version: | ||
| Bug Depends On: | ||||
| Bug Blocks: | 681520 | |||
Mauro, any ideas on this one? Can you provide dmesg output after a fresh boot for the non-working kernel? You might also want to try this kernel here: http://kojipkgs.fedoraproject.org/packages/kernel/2.6.35.11/85.fc14/ It carries a tuner-related fix that *might* be relevant here as well... Jarod,
It is simple: VIDIOCGAUDIO is an old V4L1 call. V4L1 API were removed.
John,
You need to use an application that works with V4L2 API. You can use "radio" application shipped with xawtv. I've ported it recently to work with the new API. I just built a new package for rawhide at:
http://koji.fedoraproject.org/koji/taskinfo?taskID=2878324
Added an update for F14 at bugzilla:
https://bugzilla.redhat.com/show_bug.cgi?id=681520
Fedora 14 packages are at:
http://koji.fedoraproject.org/koji/buildinfo?buildID=231654
Please test.
(In reply to comment #3) > Jarod, > > It is simple: VIDIOCGAUDIO is an old V4L1 call. V4L1 API were removed. D'oh. Missed that. Thanks Mauro! OK, I've updated xawtv to xawtv-3.100-1.fc14.i686, and the new radio app works fine with the updated 2.6.35.11-83.fc14.i686.PAE kernel. I've used my own C code for some years in crontab jobs to do timed recordings of various weekly radio programs. Any pointers to documentation for the V4L2 API for the FM tuner would be appreciated. Or I will try to dissect the source code for the radio app. Thanks- John V4L2 API has a chapter about V4L1 to V4L2 changes, but it is probably easier if you take a look at the code changes for radio application. They are at my git repository at:
http://git.linuxtv.org/xawtv3.git
A diff between version 3.95 and the last one will give you the directions for it:
$ git diff 45a153b46c280b51471ec12854cce623ef8f92be.. console/radio.c
You can also use something like:
$ radio -qf 91.4
to tune into an specific channel and use v4lctl or v4l2ctl to mute/unmute the device on some script.
Anyway, I'll close this BZ, as there's no kernel bug on this change, and userspace changes are handled on another bugzilla.
OK, I've updated xawtv to xawtv-3.100-1.fc14.i686, and the new radio app works fine with the updated 2.6.35.11-83.fc14.i686.PAE kernel. I've used my own C code for some years in crontab jobs to do timed recordings of various weekly radio programs. Any pointers to documentation for the V4L2 API for the FM tuner would be appreciated. Or I will try to dissect the source code for the radio app. Thanks- John Thanks for your help Mauro- John |
Description of problem: The original kernel package in Fedora 14, 2.6.35.10-74, included support for the FM tuner for the Avermedia GO 007 FM card in the saa7134 module that worked fine, as did the kernel package in previous Fedora versions. I followed the recent kernel upgrade to 2.6.35.11-83 and found the FM tuner support no longer working, although the TV tuner continues to run fine. A /dev/radio0 device is still created, and can be opened, but an ioctl call that has worked for years now returns an error code. Version-Release number of selected component (if applicable): 2.6.35.11-83 How reproducible: Always Steps to Reproduce: 1. Upgrade to 2.6.35.11-83 Actual results: struct video_audio audio; radfd = open("/dev/radio0",O_RDONLY); status = ioctl(radfd,VIDIOCGAUDIO,&audio); returns an error status with the "Invalid argument" error number Expected results: Current FM tuner audio state returned in audio structure. Additional info: Booting back into 2.6.35.10-74 allows the FM tuner to run as before.