Προς το περιεχόμενο

Ραδιόφωνο FM (saa7134)


capthookb

Προτεινόμενες αναρτήσεις

Θέλω να κάνω το ράδιο να δουλέψει και δε γίνεται.

Έχω την κάρτα Asus P7131 Hybrid http://www.linuxtv.org/wiki/index.php/ASUS_My_Cinema-P7131_Hybrid

Έχω βάλει options στο /etc/modprobe.d/saa.conf

options saa7134 card=112 tuner=54 gpio_tracking=1 i2c_scan=1
 
αλλά το ραδιόφωνο δεν παιζει. Συγκεκριμένα όταν τρέχω κάποια εφαρμογή, συντονίζει μόνο του στο 1.04mhz και μένει εκεί. Αν κάνω tune σε κάποια άλλη συχνότητα πηγάινει για 2-3 δευτερόλεπτα εκεί, ακούω ήχο και μετά επανέρχεται στο 1.04 και ακουώ θόρυβο. To ίδιο γίνεται και με την εφαρμογή radio (του xawtv) αλλα και με το πακέτο fmtools.
 
Έχει κανείς καμια ιδέα;
 

[dimitris@domatio ~]$ v4l2-ctl -d /dev/radio0 --all
Driver Info (not using libv4l2):
        Driver name   : saa7134
        Card type     : ASUSTeK P7131 Hybrid
        Bus info      : PCI:0000:04:01.0
        Driver version: 3.13.2
        Capabilities  : 0x85050015
                Video Capture
                Video Overlay
                VBI Capture
                Tuner
                Radio
                Read/Write
                Streaming
                Device Capabilities
        Device Caps   : 0x00050000
                Tuner
                Radio
Priority: 2
Frequency for tuner 0: 23910 (1.494375 MHz)
Tuner 0:
        Name                 : Radio
        Capabilities         : 62.5 Hz stereo freq-bands 
        Frequency range      : 65.000 MHz - 108.000 MHz
        Signal strength/AFC  : 97%/0
        Current audio mode   : stereo
        Available subchannels: stereo 
                           mute (bool)   : default=0 value=0
 

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Γιατί αχρηστεύτηκε με τη digea;

dvb-t, αναλογική tv δουλεύουν κανονικά σε εμένα.

 

 

[dimitris@domatio ~]$ dmesg | grep saa
[    2.089887] saa7130/34: v4l2 driver version 0, 2, 17 loaded
[    2.090043] saa7133[0]: found at 0000:04:01.0, rev: 209, irq: 16, latency: 32, mmio: 0xf0400000
[    2.090050] saa7133[0]: subsystem: 1043:4876, board: ASUSTeK P7131 Hybrid [card=112,autodetected]
[    2.090066] saa7133[0]: board init: gpio is 0
[    2.116060] input: saa7134 IR (ASUSTeK P7131 Hybri as /devices/pci0000:00/0000:00:1c.3/0000:03:00.0/0000:04:01.0/rc/rc0/input5
[    2.116223] rc0: saa7134 IR (ASUSTeK P7131 Hybri as /devices/pci0000:00/0000:00:1c.3/0000:03:00.0/0000:04:01.0/rc/rc0
[    2.124315] input: MCE IR Keyboard/Mouse (saa7134) as /devices/virtual/input/input6
[    2.266086] saa7133[0]: i2c eeprom 00: 43 10 76 48 54 20 1c 00 43 43 a9 1c 55 d2 b2 92
[    2.266093] saa7133[0]: i2c eeprom 10: ff ff ff 0f ff 20 ff ff ff ff ff ff ff ff ff ff
[    2.266099] saa7133[0]: i2c eeprom 20: 01 40 01 02 03 01 01 03 08 ff 00 d5 ff ff ff ff
[    2.266102] saa7133[0]: i2c eeprom 30: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    2.266106] saa7133[0]: i2c eeprom 40: ff 21 00 c2 96 10 03 32 55 50 ff ff ff ff ff ff
[    2.266110] saa7133[0]: i2c eeprom 50: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    2.266113] saa7133[0]: i2c eeprom 60: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    2.266117] saa7133[0]: i2c eeprom 70: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    2.266121] saa7133[0]: i2c eeprom 80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    2.266125] saa7133[0]: i2c eeprom 90: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    2.266128] saa7133[0]: i2c eeprom a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    2.266132] saa7133[0]: i2c eeprom b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    2.266136] saa7133[0]: i2c eeprom c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    2.266139] saa7133[0]: i2c eeprom d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    2.266143] saa7133[0]: i2c eeprom e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    2.266147] saa7133[0]: i2c eeprom f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    3.982292] saa7146: register extension 'av7110'
[    6.001137] saa7133[0]: registered device video0 [v4l2]
[    6.001171] saa7133[0]: registered device vbi0
[    6.001195] saa7133[0]: registered device radio0
[    6.031043] DVB: registering new adapter (saa7133[0])
[    6.031050] saa7134 0000:04:01.0: DVB: registering adapter 0 frontend 0 (Philips TDA10046H DVB-T)...
[    7.096264] saa7134 ALSA driver for DMA sound loaded
[    7.096283] saa7133[0]/alsa: saa7133[0] at 0xf0400000 irq 16 registered as card -1

Τα παραπάνω είναι μετά από αφαίρεση των options στο /etc/modprobe.d/saa.conf για να δω μήπως αλλάξει κάτι, αλλά μάταια. Ίδια συμπεριφορά έχει.

Archlinux έχω 

 

 

[dimitris@domatio ~]$ uname -a
Linux domatio 3.13.2-1-ARCH #1 SMP PREEMPT Thu Feb 6 23:54:46 CET 2014 x86_64 GNU/Linux

Λες να φταίει η τελευταία γραμμή και να έχω irq conflict;

 

saa7133[0]/alsa: saa7133[0] at 0xf0400000 irq 16 registered as card -1

Άλλαξα θέση στις 2 pci που έχει η μητρική, αλλά βγαίνει το ίδιο πράγμα, στο irq 19 όμως.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Τι να πω πόσες κάρτες έχεις επάνω πια; Δες τι λένε οι ubuntuδες https://help.ubuntu.com/community/DebuggingIRQProblems και ψάξε στο arch wiki.

Για τη κάρτα είχα την εντύπωση ότι κάνει μόνο mpeg2 decoding και η digea είναι mpeg4, να σου πω δε τη δοκίμασα.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

2 κάρτες έχω όλες κι όλες. Αυτή και μια κάρτα ήχου. 2 είναι και οι slots της μητρικής. Δεν έχει άλλες.

 

Εγώ την έχω σετάρει με vdr και βλέπω tv από xbmc πλέον. Νομίζω το decoding του βίντεο γίνεται με λογισμικό και η κάρτα δεν κάνει κάτι άλλο παρά να συντονιστεί και να παρέχει την προς-αποκωδικοποίηση πληροφορία στα διάφορα προγράμματα.

 

Ευχαριστώ. Θα δοκιμάσω, αν και μου φαίνεται για kernel bug.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Το -1 όντως σαν exit failure φαίνεται αλλά τα irq 16-24 είναι virtual ανατίθενται σε διάφορες συσκευές δες εδώ http://avid.force.com/pkb/articles/en_US/Troubleshooting/en401407?retURL=%2Fpkb%2Farticles%2Fen_US%2FFAQ%2Fen398815&popup=true

καλη τύχη


Μια άλλη λύση είναι με journalctl -xb να δεις μετα απο ρεσταρτ τι irq ανατίθενται και στις 2 κάρτες αν κ δε νομίζω να είναι conflict.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Αν κατάλαβα καλά, το πρόβλημα είναι των εφαρμογών. Έχουν μείνει σε v4l ενώ ο πυρήνας έχει περάσει σε v4l2. Επομένως δε δουλεύουν μεταξύ τους. Τελικά μπόρεσα να ακούσω ραδιόφωνο χρησιμοποιώντας τον mplayer.

Για όποιον ενδιαφέρεται:

mplayer -rawaudio rate=32000 radio://2/capture -radio adevice=hw=1:arate=96000:channels=92.2-KissFM,93.4-MaxFM

Δεν ξέρω ακριβώς τι και πως κάνει η κάθε εντολή αλλά δουλεύει. Στο περίπου είναι αυτά:

  • rawaudio Παίζει ήχο raw
  • rate=32000 Αυτό πρέπει να είναι τόσο γιατί εκεί συγχρονίζεται ο ήχος. Αλλάζοντάς το σε μεγαλύτερο ή μικρότερο αλλάζει η ταχύτητα αντίστοιχα (pitch)
  • radio://2/ το mplayer θα συντονιστεί στον δεύτερο σταθμό που υπάρχει στη λίστα στο τέλος (π.χ. 93.4 MaxFM)
  • capture σημαίνει πως το mplayer θα κάνει capture τον ήχο από το tuner και θα το στείλει στην κάρτα ήχου.
  • adevice=hw=1 δηλώνει την κάρτα (ήχου) από την οποία κάνω capture (το tuner δηλαδή). Πρέπει να είναι φορτωμένο το saa7134_alsa. Στο σύστημά μου 0 είναι η κάρτα ήχου ενώ 1 η "κάρτα ήχου" του tuner.
    [root@domatio ~]# cat /proc/asound/cards
     0 [M2496          ]: ICE1712 - M Audio Audiophile 24/96
                          M Audio Audiophile 24/96 at 0xd040, irq 16
     1 [SAA7134        ]: SAA7134 - SAA7134
                          saa7133[0] at 0xf0400000 irq 19
     
  • arate:96000 Δε νομίζω να παίζει κάποιο ρόλο γιατί το έβαλα ακόμα και 9600 αλλά δεν είδα διαφορά στον ήχο.
  • channels=... H λίστα με τους σταθμούς της περιοχής.
Είναι λίγο δύσχρηστο σε αυτή τη μορφή, αλλά θα φτιάξω ένα script-άκι με μενού που να σου επιτρέπει να επιλέγεις σταθμό ενώ παίζει το mplayer.
 
 
Τη λύση τη βρήκα εδώ:
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Αν και είχα δοκιμάσει και το kradio, χωρίς αποτέλεσμα. Στο faq του kradio γραφει τα εξής:

 

 


Why does my v4l/v4l2 radio tuner not tune any more?

Unfortunately, this is no KRadio issue. Other linux radio applications (mplayer, gnomeradio, xawtv) are affected as well. Furthermore, it seems that this is not an issue of the V4L1 support dropped in recent kernels since KRadio properly supports V4L2 already for a long time.

Recent Linux kernels (apparently starting with 2.6.39) have a bug in the radio tuner control. In general, it seems that the ioctl commands sent to the driver do not get considered any more, thus the selected frequency is not tuned. People report that this causes either noise to be heard or the previously tuned TV station in case you have a combined radio/TV card. Unfortunately, only very few notes on this bug can be found on the net, but at least recently, two messages have been posted on the LKML and the Ubuntu bug tracking system:

 

Unfortunately, the LKML postings didn't get replies yet and I couldn't find any information about a bugfix yet (as of Feb. 15, 2012).

 

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...