Re: Need help with AverMedia306 driver on linux system.
Sorry I need clarify one thing, For the DVB, it's not the xc3028 here, It's the AF9013 I have read the phrase available C API in the datasheet , I googled it and found this thread for example : http://forum.stmlabs.com/showthread.php?tid=3404 It's for raspberry and the likes linux-toy-SBC/SOC , I will go thru it , and keep you informed . The datasheet shows that it's accessible by i2c too, so it must be linked to the cx23885 by I2c , I think it's at the address 0x66, once it's linked up I should be able to port their code . Best regards Rémi . Le 27 septembre 2013 à 22:11, remi r...@remis.cc a écrit : Good news, and thank you for the feedback Must be because I am in Paris/FRANCE, they went all TNT (dvb) I thaught they left a channel or two in the hertzerian analog but not :( or my reception is really bad ... And you have the right cables if it's in it's original laptop !! :) Thnx again for your help !! Le 27 septembre 2013 à 13:20, Nguyễn Minh Hoàng minhhoang1...@yahoo.com a écrit : Yes, you are so smart, buddy. I know you are not developer of these card driver. But you got the way to make this card worked well. So i wrote to you. I am not successful with your 306 patches because i use other revision of linuxtv driver, i tried modprobe option with card=39 too and as you say, it works as analog - no dvb. This card is hybridge, not single analog or dvb. If you get the way, help me with your way :) thank you. Sent from my iPhone On Sep 27, 2013, at 6:06 PM, remi r...@remis.cc wrote: Oh, I am not the person who wrote the driver ... :( I merly cloned the HC81r, gave it the proper PCI ID, and the correct firmware , I also have no DVB either, Unless I get time to learn V4L API, or the mainter of the xc2028 finds more infos too ... we are prety much at this stage, some analog, but no dvb ... at my knowlodge . Best regards Rémi Le 27 septembre 2013 à 12:46, Nguyễn Minh Hoàng minhhoang1...@yahoo.com a écrit : Thank you for your relying. I know that your patch is not same my revision, i can't apply it. I think i should find and add your patches manually, but there are so much code to do. I am on phone now. I will send you some more detail when i am back to my computer. Pls help me. Ps: i used option=39 before, my system got it as video and vbi device, not dvb device. Maybe i need some patches in this case as your suggestion today. Thank you again! Sent from my iPhone On Sep 27, 2013, at 3:24 PM, remi r...@remis.cc wrote: :) Also, by the time I redo the patch, You must have seen how i have reached this point, I have actually started by insering the module with card=39 as an option, So you can for now, add theses line to gpunk@gpunk-Aspire-8930:~$cat /etc/modprobe.d/video-tv.conf options tuner-xc2028 firmware_name=xc3028-v27.fw options cx23885 card=39 I called my file this way ... it's arbitrary, please check the man modprobe of your ditribution/kernel . Best regards Rémi Le 21 septembre 2013 à 19:43, ad...@tydaikho.com minhhoang1...@yahoo.com a écrit : Hi Remi! I got my card but i have not finish to install driver. I follow your patch on linuxtv.org but i am not successful. it makes some mistake: malform and hunk errors. === root@ty-debian:/usr/local/src/linuxtv# patch -p1 ./cx23885.patch can't find file to patch at input line 3 Perhaps you used the wrong -p or --strip option? The text leading up to this was: -- |--- drivers/media/pci/cx23885/cx23885.h 2013-03-25 05:45:50.0 +0100 |+++ drivers/media/pci/cx23885/cx23885.h 2013-08-21 13:55:20.010625134 +0200 -- File to patch: ./drivers/media/pci/cx23885/cx23885.h patching file ./drivers/media/pci/cx23885/cx23885.h patch: malformed patch at line 4: #define CX23885_BOARD_PROF_800037 == root@ty-debian:/usr/local/src/linuxtv# patch -p1 ./cx23885-video.patch can't find file to patch at input line 4 Perhaps you used the wrong -p or --strip option? The text leading up to this was: -- |--- drivers/media/pci/cx23885/cx23885-video.c 2013-08-02 05:45:59.0 +0200 |+++ drivers/media/pci/cx23885/cx23885-video.c2013-08-21 13:55:20.017625046 |+0200 -- File to patch: ./drivers/media/pci/cx23885/cx23885-video.c patching file ./drivers/media/pci/cx23885/cx23885-video.c Hunk #1
Re: Need help with AverMedia306 driver on linux system.
:) Also, by the time I redo the patch, You must have seen how i have reached this point, I have actually started by insering the module with card=39 as an option, So you can for now, add theses line to gpunk@gpunk-Aspire-8930:~$cat /etc/modprobe.d/video-tv.conf options tuner-xc2028 firmware_name=xc3028-v27.fw options cx23885 card=39 I called my file this way ... it's arbitrary, please check the man modprobe of your ditribution/kernel . Best regards Rémi Le 21 septembre 2013 à 19:43, ad...@tydaikho.com minhhoang1...@yahoo.com a écrit : Hi Remi! I got my card but i have not finish to install driver. I follow your patch on linuxtv.org but i am not successful. it makes some mistake: malform and hunk errors. === root@ty-debian:/usr/local/src/linuxtv# patch -p1 ./cx23885.patch can't find file to patch at input line 3 Perhaps you used the wrong -p or --strip option? The text leading up to this was: -- |--- drivers/media/pci/cx23885/cx23885.h 2013-03-25 05:45:50.0 +0100 |+++ drivers/media/pci/cx23885/cx23885.h 2013-08-21 13:55:20.010625134 +0200 -- File to patch: ./drivers/media/pci/cx23885/cx23885.h patching file ./drivers/media/pci/cx23885/cx23885.h patch: malformed patch at line 4: #define CX23885_BOARD_PROF_8000 37 == root@ty-debian:/usr/local/src/linuxtv# patch -p1 ./cx23885-video.patch can't find file to patch at input line 4 Perhaps you used the wrong -p or --strip option? The text leading up to this was: -- |--- drivers/media/pci/cx23885/cx23885-video.c 2013-08-02 05:45:59.0 +0200 |+++ drivers/media/pci/cx23885/cx23885-video.c2013-08-21 13:55:20.017625046 |+0200 -- File to patch: ./drivers/media/pci/cx23885/cx23885-video.c patching file ./drivers/media/pci/cx23885/cx23885-video.c Hunk #1 FAILED at 511. Hunk #2 FAILED at 1888. 2 out of 2 hunks FAILED -- saving rejects to file ./drivers/media/pci/cx23885/cx23885-video.c.rej root@ty-debian:/usr/local/src/linuxtv# patch -p1 ./cx23885-cards.patch can't find file to patch at input line 4 Perhaps you used the wrong -p or --strip option? The text leading up to this was: -- |--- drivers/media/pci/cx23885/cx23885-cards.c 2012-12-28 00:04:05.0 +0100 |+++ drivers/media/pci/cx23885/cx23885-cards.c2013-08-21 14:15:54.173195979 |+0200 -- File to patch: ./drivers/media/pci/cx23885/cx23885-cards.c patching file ./drivers/media/pci/cx23885/cx23885-cards.c Hunk #1 FAILED at 604. Hunk #2 FAILED at 841. Hunk #3 FAILED at 1069. Hunk #4 FAILED at 1394. Hunk #5 FAILED at 1623. Hunk #6 FAILED at 1758. 6 out of 6 hunks FAILED -- saving rejects to file ./drivers/media/pci/cx23885/cx23885-cards.c.rej === If you don't mind, i need your support to get my card works well. Thank you very much! -- Yahoo: minhhoang1004 + Google: minhhoang1004 + Skype: minhhoang1004 + MSN: tydaikho -- (http://tydaikho.com) VS (http://vnluser.net) -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: Need help with AverMedia306 driver on linux system.
Oh, I am not the person who wrote the driver ... :( I merly cloned the HC81r, gave it the proper PCI ID, and the correct firmware , I also have no DVB either, Unless I get time to learn V4L API, or the mainter of the xc2028 finds more infos too ... we are prety much at this stage, some analog, but no dvb ... at my knowlodge . Best regards Rémi Le 27 septembre 2013 à 12:46, Nguyễn Minh Hoàng minhhoang1...@yahoo.com a écrit : Thank you for your relying. I know that your patch is not same my revision, i can't apply it. I think i should find and add your patches manually, but there are so much code to do. I am on phone now. I will send you some more detail when i am back to my computer. Pls help me. Ps: i used option=39 before, my system got it as video and vbi device, not dvb device. Maybe i need some patches in this case as your suggestion today. Thank you again! Sent from my iPhone On Sep 27, 2013, at 3:24 PM, remi r...@remis.cc wrote: :) Also, by the time I redo the patch, You must have seen how i have reached this point, I have actually started by insering the module with card=39 as an option, So you can for now, add theses line to gpunk@gpunk-Aspire-8930:~$cat /etc/modprobe.d/video-tv.conf options tuner-xc2028 firmware_name=xc3028-v27.fw options cx23885 card=39 I called my file this way ... it's arbitrary, please check the man modprobe of your ditribution/kernel . Best regards Rémi Le 21 septembre 2013 à 19:43, ad...@tydaikho.com minhhoang1...@yahoo.com a écrit : Hi Remi! I got my card but i have not finish to install driver. I follow your patch on linuxtv.org but i am not successful. it makes some mistake: malform and hunk errors. === root@ty-debian:/usr/local/src/linuxtv# patch -p1 ./cx23885.patch can't find file to patch at input line 3 Perhaps you used the wrong -p or --strip option? The text leading up to this was: -- |--- drivers/media/pci/cx23885/cx23885.h 2013-03-25 05:45:50.0 +0100 |+++ drivers/media/pci/cx23885/cx23885.h 2013-08-21 13:55:20.010625134 +0200 -- File to patch: ./drivers/media/pci/cx23885/cx23885.h patching file ./drivers/media/pci/cx23885/cx23885.h patch: malformed patch at line 4: #define CX23885_BOARD_PROF_8000 37 == root@ty-debian:/usr/local/src/linuxtv# patch -p1 ./cx23885-video.patch can't find file to patch at input line 4 Perhaps you used the wrong -p or --strip option? The text leading up to this was: -- |--- drivers/media/pci/cx23885/cx23885-video.c 2013-08-02 05:45:59.0 +0200 |+++ drivers/media/pci/cx23885/cx23885-video.c2013-08-21 13:55:20.017625046 |+0200 -- File to patch: ./drivers/media/pci/cx23885/cx23885-video.c patching file ./drivers/media/pci/cx23885/cx23885-video.c Hunk #1 FAILED at 511. Hunk #2 FAILED at 1888. 2 out of 2 hunks FAILED -- saving rejects to file ./drivers/media/pci/cx23885/cx23885-video.c.rej root@ty-debian:/usr/local/src/linuxtv# patch -p1 ./cx23885-cards.patch can't find file to patch at input line 4 Perhaps you used the wrong -p or --strip option? The text leading up to this was: -- |--- drivers/media/pci/cx23885/cx23885-cards.c 2012-12-28 00:04:05.0 +0100 |+++ drivers/media/pci/cx23885/cx23885-cards.c2013-08-21 14:15:54.173195979 |+0200 -- File to patch: ./drivers/media/pci/cx23885/cx23885-cards.c patching file ./drivers/media/pci/cx23885/cx23885-cards.c Hunk #1 FAILED at 604. Hunk #2 FAILED at 841. Hunk #3 FAILED at 1069. Hunk #4 FAILED at 1394. Hunk #5 FAILED at 1623. Hunk #6 FAILED at 1758. 6 out of 6 hunks FAILED -- saving rejects to file ./drivers/media/pci/cx23885/cx23885-cards.c.rej === If you don't mind, i need your support to get my card works well. Thank you very much! -- Yahoo: minhhoang1004 + Google: minhhoang1004 + Skype: minhhoang1004 + MSN: tydaikho -- (http://tydaikho.com) VS (http://vnluser.net) -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: Need help with AverMedia306 driver on linux system.
Good news, and thank you for the feedback Must be because I am in Paris/FRANCE, they went all TNT (dvb) I thaught they left a channel or two in the hertzerian analog but not :( or my reception is really bad ... And you have the right cables if it's in it's original laptop !! :) Thnx again for your help !! Le 27 septembre 2013 à 13:20, Nguyễn Minh Hoàng minhhoang1...@yahoo.com a écrit : Yes, you are so smart, buddy. I know you are not developer of these card driver. But you got the way to make this card worked well. So i wrote to you. I am not successful with your 306 patches because i use other revision of linuxtv driver, i tried modprobe option with card=39 too and as you say, it works as analog - no dvb. This card is hybridge, not single analog or dvb. If you get the way, help me with your way :) thank you. Sent from my iPhone On Sep 27, 2013, at 6:06 PM, remi r...@remis.cc wrote: Oh, I am not the person who wrote the driver ... :( I merly cloned the HC81r, gave it the proper PCI ID, and the correct firmware , I also have no DVB either, Unless I get time to learn V4L API, or the mainter of the xc2028 finds more infos too ... we are prety much at this stage, some analog, but no dvb ... at my knowlodge . Best regards Rémi Le 27 septembre 2013 à 12:46, Nguyễn Minh Hoàng minhhoang1...@yahoo.com a écrit : Thank you for your relying. I know that your patch is not same my revision, i can't apply it. I think i should find and add your patches manually, but there are so much code to do. I am on phone now. I will send you some more detail when i am back to my computer. Pls help me. Ps: i used option=39 before, my system got it as video and vbi device, not dvb device. Maybe i need some patches in this case as your suggestion today. Thank you again! Sent from my iPhone On Sep 27, 2013, at 3:24 PM, remi r...@remis.cc wrote: :) Also, by the time I redo the patch, You must have seen how i have reached this point, I have actually started by insering the module with card=39 as an option, So you can for now, add theses line to gpunk@gpunk-Aspire-8930:~$cat /etc/modprobe.d/video-tv.conf options tuner-xc2028 firmware_name=xc3028-v27.fw options cx23885 card=39 I called my file this way ... it's arbitrary, please check the man modprobe of your ditribution/kernel . Best regards Rémi Le 21 septembre 2013 à 19:43, ad...@tydaikho.com minhhoang1...@yahoo.com a écrit : Hi Remi! I got my card but i have not finish to install driver. I follow your patch on linuxtv.org but i am not successful. it makes some mistake: malform and hunk errors. === root@ty-debian:/usr/local/src/linuxtv# patch -p1 ./cx23885.patch can't find file to patch at input line 3 Perhaps you used the wrong -p or --strip option? The text leading up to this was: -- |--- drivers/media/pci/cx23885/cx23885.h 2013-03-25 05:45:50.0 +0100 |+++ drivers/media/pci/cx23885/cx23885.h 2013-08-21 13:55:20.010625134 +0200 -- File to patch: ./drivers/media/pci/cx23885/cx23885.h patching file ./drivers/media/pci/cx23885/cx23885.h patch: malformed patch at line 4: #define CX23885_BOARD_PROF_800037 == root@ty-debian:/usr/local/src/linuxtv# patch -p1 ./cx23885-video.patch can't find file to patch at input line 4 Perhaps you used the wrong -p or --strip option? The text leading up to this was: -- |--- drivers/media/pci/cx23885/cx23885-video.c 2013-08-02 05:45:59.0 +0200 |+++ drivers/media/pci/cx23885/cx23885-video.c2013-08-21 13:55:20.017625046 |+0200 -- File to patch: ./drivers/media/pci/cx23885/cx23885-video.c patching file ./drivers/media/pci/cx23885/cx23885-video.c Hunk #1 FAILED at 511. Hunk #2 FAILED at 1888. 2 out of 2 hunks FAILED -- saving rejects to file ./drivers/media/pci/cx23885/cx23885-video.c.rej root@ty-debian:/usr/local/src/linuxtv# patch -p1 ./cx23885-cards.patch can't find file to patch at input line 4 Perhaps you used the wrong -p or --strip option? The text leading up to this was: -- |--- drivers/media/pci/cx23885/cx23885-cards.c 2012-12-28 00:04:05.0 +0100 |+++ drivers/media/pci/cx23885/cx23885-cards.c2013-08-21 14:15:54.173195979 |+0200 -- File to patch: ./drivers/media/pci/cx23885/cx23885-cards.c patching file ./drivers
Re: avermedia A306 / PCIe-minicard (laptop)
Hello The firmware got fixed, the module option, needs a file-name only, no path , lol for once Well, the driver says Firmware OK , I have seen the message of Mauro, he must be right a hundred percent, 'cause we seem to have the initialisations ok, but , for me at lease no data coming out from the tuner ... and it has GPIOs , that have to be used accordinly ... No data meaning no reaction, and no tuning . Otherwise I think we have video from the tuner ( snow ! ) and composite ( parasites ) I will as soon as i can, take macro photos heads/tails , and draw a schematic With the datasheets i have (all ;) ) I will find out the GPIOs where they are going ... :) will keep you all informed of course . Best regards Rémi ### cx25840 2-0044: loaded v4l-cx23885-avcore-01.fw firmware (16382 bytes) [ 4.392762] tuner 1-0061: Tuner -1 found with type(s) Radio TV. [ 4.395040] xc2028 1-0061: creating new instance [ 4.395043] xc2028 1-0061: type set to XCeive xc2028/xc3028 tuner [ 4.395214] cx23885[0]: registered device video1 [v4l2] [ 4.395333] cx23885[0]: registered device vbi0 [ 4.395519] cx23885[0]: registered ALSA audio device [ 4.395870] xc2028 1-0061: Loading 80 firmware images from xc3028-v27.fw, type: xc2028 firmware, ver 2.7 [ 4.598038] xc2028 1-0061: Loading firmware for type=BASE (1), id . [ 5.762199] xc2028 1-0061: Loading firmware for type=(0), id b700. [ 5.777471] SCODE (2000), id b700: [ 5.777474] xc2028 1-0061: Loading SCODE for type=MONO SCODE HAS_IF_4320 (60008000), id 8000. [ 5.923492] cx23885_dev_checkrevision() Hardware revision = 0xb0 [ 5.923499] cx23885[0]/0: found at :05:00.0, rev: 2, irq: 18, latency: 0, mmio: 0xd300 Le 18 septembre 2013 à 16:44, Anca Emanuel anca.eman...@gmail.com a écrit : On Tue, Aug 20, 2013 at 5:44 PM, remi r...@remis.cc wrote: Hello FYI I digged into the firmware problem a little, xc3028L-v36.fw gets loaded by default , and the errors are as you saw earlier forcing the /lib/firmware/xc3028-v27.fw : [ 3569.941404] xc2028 2-0061: Could not load firmware /lib/firmware/xc3028-v27.fw So i searched the original dell/windows driver : I have these files in there : root@medeb:/home/gpunk/.wine/drive_c/dell/drivers/R169070# ls -lR .: total 5468 drwxr-xr-x 2 gpunk gpunk4096 août 20 13:24 Driver_X86 -rwxr-xr-x 1 gpunk gpunk 5589827 sept. 12 2007 Setup.exe -rw-r--r-- 1 gpunk gpunk 197 oct. 9 2007 setup.iss ./Driver_X86: total 1448 -rw-r--r-- 1 gpunk gpunk 114338 sept. 7 2007 A885VCap_ASUS_DELL_2.inf -rw-r--r-- 1 gpunk gpunk 15850 sept. 11 2007 a885vcap.cat -rw-r--r-- 1 gpunk gpunk 733824 sept. 7 2007 A885VCap.sys -rw-r--r-- 1 gpunk gpunk 147870 avril 20 2007 cpnotify.ax -rw-r--r-- 1 gpunk gpunk 376836 avril 20 2007 cx416enc.rom -rw-r--r-- 1 gpunk gpunk 65536 avril 20 2007 cxtvrate.dll -rw-r--r-- 1 gpunk gpunk 16382 avril 20 2007 merlinC.rom I think merlinC.rom is your xc3028-v27.fw Compare it to http://www.linuxtv.org/wiki/index.php/Xceive_XC3028/XC2028 the file extracted there. root@medeb:/home/gpunk/.wine/drive_c/dell/drivers/R169070# root@medeb:/home/gpunk/.wine/drive_c/dell/drivers/R169070/Driver_X86# grep firmware * Fichier binaire A885VCap.sys concordant root@medeb:/home/gpunk/.wine/drive_c/dell/drivers/R169070/Driver_X86# I'll try to find a way to extract maybe the right firmware for what this card , I'd love some help :) Mauro replied this http://www.spinics.net/lists/linux-media/msg25746.html to me in 2010. Then I removed the card from my PC. Some years later I tried again. This time I found this patch to give me some hints: http://www.spinics.net/lists/linux-media/msg43069.html After compiling several versions of the patch for the upstream kernel (try and hope type) I posted what works for me. Tutorial to make kernel patches: http://www.youtube.com/watch?v=LLBrBBImJt4 Tutorial to set git send-email correctly for git: https://coderwall.com/p/dp-gka Tip for first kernel patch: send to your address first to spot any errors. Tip for linux-media patchwork to automatically get yours: use labels (search for discussion about this). I hope this helps. -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: avermedia A306 / PCIe-minicard (laptop) / CX23885
Hello :) Thnx for the reply ! Well, I do not have the cables ... it's a laptop card, orginally for a Dell, I am doing my tests on an Acer, The Video0 dev , composite/s-video is showing an analog signal, i guess a noise picture because not hooked-up, but bottom half is sometimes green . Analog scanning/reception = NULL , I might have to check again the antenna connexion, For the Mpeg, negative, it's a 9013 chip, I still have to discecte the 9015 driver and pull-out the 9013 spcific data , iguess . What I need the most, Is a big picture of the V4L API , like an organigram of what is where ( initialising this or that, handeling setups - and controls) I code, but going thru others Code, is always like playing Maze ... :) especially an API in a whole System Package... But I am searching on my side :) I there a dummy /test driver for PCIe cards I can study ? Best regards Rémi. Le 17 septembre 2013 à 15:38, Steven Toth st...@kernellabs.com a écrit : Hello Hello Remi! Thank you for looking at the Avercard with the CX23885 driver. Antti, redirected me toward you, What exactly is your question? And If it's at the least at the same stage as the HC81 , I think it deserve's to be listed in cards.h Possibly. Tell us again 1) what you have working reliably 2) what isn't working but the driver is exposing and 3) what the driver is exposing but has not been tested. So people will know right away, that this card has been identified by the V4L community, and dont have Anyone working on that card would arrive here on the mailing list, I don't think that's going to be an issue. I suggest you focus on getting feature of the card working reliably, produce a patchset and I'm sure it will get reviewed, refined then eventually merged. Other comments below. + [CX23885_BOARD_AVERMEDIA_A306] = { + .name = AVerTV Hybrid Minicard PCIe A306, + .tuner_type = TUNER_XC2028, + .tuner_addr = 0x61, /* 0xc2 1 */ + .tuner_bus = 1, + .porta = CX23885_ANALOG_VIDEO, + .portb = CX23885_MPEG_ENCODER, + .input = {{ + .type = CX23885_VMUX_TELEVISION, + .vmux = CX25840_VIN2_CH1 | + CX25840_VIN5_CH2 | + CX25840_NONE0_CH3 | + CX25840_NONE1_CH3, + .amux = CX25840_AUDIO8, + }, { + .type = CX23885_VMUX_SVIDEO, + .vmux = CX25840_VIN8_CH1 | + CX25840_NONE_CH2 | + CX25840_VIN7_CH3 | + CX25840_SVIDEO_ON, + .amux = CX25840_AUDIO6, + }, { + .type = CX23885_VMUX_COMPONENT, + .vmux = CX25840_VIN1_CH1 | + CX25840_NONE_CH2 | + CX25840_NONE0_CH3 | + CX25840_NONE1_CH3, + .amux = CX25840_AUDIO6, + }}, + + } Does the card have a MPEG2 hardware compressor and is it functioning properly? (/dev/video1) Are both svideo and component inputs working correctly in tvtime? What about audio inputs? Does the card have any audio inputs and is the driver acting and exposing those features correctly? If not then please remove any of these sections. + case CX23885_BOARD_AVERMEDIA_A306: + cx_clear(MC417_CTL, 1); + /* GPIO-0,1,2 setup direction as output */ + cx_set(GP0_IO, 0x0007); + mdelay(10); + /* AF9013 demod reset */ + cx_set(GP0_IO, 0x00010001); + mdelay(10); + cx_clear(GP0_IO, 0x00010001); + mdelay(10); + cx_set(GP0_IO, 0x00010001); + mdelay(10); + /* demod tune? */ + cx_clear(GP0_IO, 0x00030003); + mdelay(10); + cx_set(GP0_IO, 0x00020002); + mdelay(10); + cx_set(GP0_IO, 0x00010001); + mdelay(10); + cx_clear(GP0_IO, 0x00020002); + /* XC3028L tuner reset */ + cx_set(GP0_IO, 0x00040004); + cx_clear(GP0_IO, 0x00040004); + cx_set(GP0_IO, 0x00040004); + mdelay(60); + break; You're setting and clearing the GPIO direction enable registers (upper 16 bits), this isn't a good idea. If you want to drive a GPIO in a specific direction
Re: [PATCH] [media] cx23885: Add Leadtek Winfast PxPVR2200 see avermadia 306 patch
Hello I dont know if my emails are beeing flagged as spam, but device number Fourty has been reserved by me You can see in my emails adding the avermedia 306 ... If you dont see it PLEASE tell me, in that case , i'd ll love to know what is happening !!! OR, am I doing it the wrong way ? if so, NOONE advised me !! no one even AKNOLEGED it . If You are having some kind of reactions, please Advise me, and tell me what you did, Or who you are that made it happend . I am a linux user since the last century adapting drivers and kernels ...without so no pretentions i didnt send anypatches anywere ... but spending hours or even days getting a Product that is beeing sold and baught by users kinda getting harder and harder, and for once I said : gee what if it was a new comer to Linux, he'll run away his hardware is not supported, and guess what, that what makes Linux or anyother OS , get actually run and installed on a machine, and hence, make YOU v4l team use an OS that actually other pepeol use too ! isnt the goal ? if not, dont give public access to this list, you (linux-media) make me think it's a forgery of some commecial linux corporation, LoL just joking ... but see, I we give you a supported new product ... and you seem ... like you dont care :p Best regards Le 13 septembre 2013 à 16:28, Anca Emanuel anca.eman...@gmail.com a écrit : Tested: Composite: http://imgur.com/Rb1TCF3 TV: http://imgur.com/KNrfsmv Firmware used: xc3028-v27.fw Not tested: audio, component, s-video, mpeg2 encoder, FM radio. For audio it uses an CD style cable to connect to the analog CD_IN on the motherboard. I didn't found how to unmute it (alsamixer do not show an CD or AUX channel). Signed-off-by: Anca Emanuel anca.eman...@gmail.com --- drivers/media/pci/cx23885/cx23885-cards.c | 41 +++ drivers/media/pci/cx23885/cx23885-video.c | 3 ++- drivers/media/pci/cx23885/cx23885.h | 1 + 3 files changed, 44 insertions(+), 1 deletion(-) diff --git a/drivers/media/pci/cx23885/cx23885-cards.c b/drivers/media/pci/cx23885/cx23885-cards.c index 6a71a96..4bbb126 100644 --- a/drivers/media/pci/cx23885/cx23885-cards.c +++ b/drivers/media/pci/cx23885/cx23885-cards.c @@ -223,6 +223,39 @@ struct cx23885_board cx23885_boards[] = { .name = Leadtek Winfast PxDVR3200 H, .portc = CX23885_MPEG_DVB, }, + [CX23885_BOARD_LEADTEK_WINFAST_PXPVR2200] = { + .name = Leadtek Winfast PxPVR2200, + .porta = CX23885_ANALOG_VIDEO, + .tuner_type = TUNER_XC2028, + .tuner_addr = 0x61, + .tuner_bus = 1, + .input = {{ + .type = CX23885_VMUX_TELEVISION, + .vmux = CX25840_VIN2_CH1 | + CX25840_VIN5_CH2, + .amux = CX25840_AUDIO8, + .gpio0 = 0x704040, + }, { + .type = CX23885_VMUX_COMPOSITE1, + .vmux = CX25840_COMPOSITE1, + .amux = CX25840_AUDIO7, + .gpio0 = 0x704040, + }, { + .type = CX23885_VMUX_SVIDEO, + .vmux = CX25840_SVIDEO_LUMA3 | + CX25840_SVIDEO_CHROMA4, + .amux = CX25840_AUDIO7, + .gpio0 = 0x704040, + }, { + .type = CX23885_VMUX_COMPONENT, + .vmux = CX25840_VIN7_CH1 | + CX25840_VIN6_CH2 | + CX25840_VIN8_CH3 | + CX25840_COMPONENT_ON, + .amux = CX25840_AUDIO7, + .gpio0 = 0x704040, + } }, + }, [CX23885_BOARD_LEADTEK_WINFAST_PXDVR3200_H_XC4000] = { .name = Leadtek Winfast PxDVR3200 H XC4000, .porta = CX23885_ANALOG_VIDEO, @@ -688,6 +721,10 @@ struct cx23885_subid cx23885_subids[] = { .card = CX23885_BOARD_LEADTEK_WINFAST_PXDVR3200_H, }, { .subvendor = 0x107d, + .subdevice = 0x6f21, + .card = CX23885_BOARD_LEADTEK_WINFAST_PXPVR2200, + }, { + .subvendor = 0x107d, .subdevice = 0x6f39, .card = CX23885_BOARD_LEADTEK_WINFAST_PXDVR3200_H_XC4000, }, { @@ -1043,6 +1080,7 @@ int cx23885_tuner_callback(void *priv, int component, int command, int arg) case CX23885_BOARD_HAUPPAUGE_HVR1500: case CX23885_BOARD_HAUPPAUGE_HVR1500Q: case CX23885_BOARD_LEADTEK_WINFAST_PXDVR3200_H: + case CX23885_BOARD_LEADTEK_WINFAST_PXPVR2200: case CX23885_BOARD_LEADTEK_WINFAST_PXDVR3200_H_XC4000: case CX23885_BOARD_COMPRO_VIDEOMATE_E650F: case CX23885_BOARD_COMPRO_VIDEOMATE_E800: @@ -1208,6 +1246,7 @@ void cx23885_gpio_setup(struct cx23885_dev *dev) cx_set(GP0_IO, 0x000f000f); break;
Re: avermedia A306 / PCIe-minicard (laptop)
I agree, but at least we have video, we can at least use a composite webcam , or a camcorder / vcr ... my self, i used video capture cards this way since the 90's , a lot faster than USB webcams ... For the 9013, do you think it's a matter of porting the existing USB code to PCIe/I2C ? I see a driver with 9015 that includes it, (As I said, here we have af9013 as one stanalone CHIP ...) If you know of a good reading, i'll be more than glad to go thru it , I paused this project because I dont want to play Maze ( :) ) in the sources, I do program, even in assembly, but didnt read alot about dvb/v4l api architecture ... I CC the mailing list , if anybody else can orient me also :) Regards Le 11 septembre 2013 à 14:46, Antti Palosaari cr...@iki.fi a écrit : Hello I think you didn't get it working as I didn't saw af9013 attached? Antti On 09/11/2013 03:27 PM, remi wrote: Hi Antti I hope you'r doing ok, I had zero answers for my work ... :p Are you on vacation ? :) Is there anything else I can do to have this card supported / my little patch assimilated ? :) I can really go further and have even the complete wiring/ PCB reverse engeneered if I get some attention :) Or do I have to contact directly the maintainer of the XC3028 or the CX23885 ... ? Best regards Le 19 août 2013 à 17:18, Antti Palosaari cr...@iki.fi a écrit : On 08/19/2013 05:18 PM, remi wrote: Hello I have this card since months, http://www.avermedia.com/avertv/Product/ProductDetail.aspx?Id=376SI=true I have finally retested it with the cx23885 driver : card=39 If I could do anything to identify : [ 2.414734] cx23885[0]: i2c scan: found device @ 0x66 [???] Or hookup the xc5000 etc I'll be more than glad . ps: i opened it up a while ago,i saw an af9013 chip ? dvb-tuner looks like maybe the device @ 0x66 i2c I will double check , and re-write-down all the chips , i think 3 . You have to identify all the chips, for DVB-T there is tuner missing. USB-interface: cx23885 DVB-T demodulator: AF9013 RF-tuner: ? If there is existing driver for used RF-tuner it comes nice hacking project for some newcomer. It is just tweaking and hacking to find out all settings. AF9013 driver also needs likely some changes, currently it is used only for devices having AF9015 with integrated AF9013, or AF9015 dual devices having AF9015 + external AF9013 providing second tuner. I have bought quite similar AverMedia A301 ages back as I was looking for that AF9013 model, but maybe I have bought just wrong one... :) regards Antti -- http://palosaari.fi/ -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html -- http://palosaari.fi/ -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: avermedia A306 / PCIe-minicard (laptop) / CX23885
; /* Enable TS_CLK */ + ts1-src_sel_val = CX23885_SRC_SEL_PARALLEL_MPEG_VIDEO; + /* Defaults for VID C */ + /* DREQ_POL, SMODE, PUNC_CLK, MCLK_POL Serial bus + punc clk */ + ts2-gen_ctrl_val = 0x10e; + ts2-ts_clk_en_val = 0x1; /* Enable TS_CLK */ + ts2-src_sel_val = CX23885_SRC_SEL_PARALLEL_MPEG_VIDEO; + break; + + + case CX23885_BOARD_DVICO_FUSIONHDTV_7_DUAL_EXP: case CX23885_BOARD_DVICO_FUSIONHDTV_DVB_T_DUAL_EXP: ts2-gen_ctrl_val = 0xc; /* Serial bus + punctured clock */ @@ -1758,6 +1841,18 @@ v4l2_subdev_call(dev-sd_cx25840, core, load_fw); } break; + + case CX23885_BOARD_AVERMEDIA_A306: + dev-sd_cx25840 = v4l2_i2c_new_subdev(dev-v4l2_dev, + dev-i2c_bus[2].i2c_adap, + cx25840, 0x88 1, NULL); + if (dev-sd_cx25840) { + dev-sd_cx25840-grp_id = CX23885_HW_AV_CORE; + v4l2_subdev_call(dev-sd_cx25840, core, load_fw); + } + break; + + } /* AUX-PLL 27MHz CLK */ root@medeb:~/v4l# diff -u media_build/v4l/cx23885-video.c media_build.remi/v4l/cx23885-video.c --- media_build/v4l/cx23885-video.c 2013-08-02 05:45:59.0 +0200 +++ media_build.remi/v4l/cx23885-video.c 2013-08-21 13:55:20.017625046 +0200 @@ -511,7 +511,8 @@ (dev-board == CX23885_BOARD_HAUPPAUGE_HVR1255_22111) || (dev-board == CX23885_BOARD_HAUPPAUGE_HVR1850) || (dev-board == CX23885_BOARD_MYGICA_X8507) || - (dev-board == CX23885_BOARD_AVERMEDIA_HC81R)) { + (dev-board == CX23885_BOARD_AVERMEDIA_HC81R)|| + (dev-board == CX23885_BOARD_AVERMEDIA_A306)) { /* Configure audio routing */ v4l2_subdev_call(dev-sd_cx25840, audio, s_routing, INPUT(input)-amux, 0, 0); @@ -1888,6 +1889,20 @@ }; v4l2_subdev_call(sd, tuner, s_config, cfg); } + if (dev-board == CX23885_BOARD_AVERMEDIA_A306) { + struct xc2028_ctrl ctrl = { + /* .fname = xc3028L-v36.fw, */ + .fname = xc3028-v27.fw, + .max_len = 64 + }; + struct v4l2_priv_tun_config cfg = { + .tuner = dev-tuner_type, + .priv = ctrl + }; + v4l2_subdev_call(sd, tuner, s_config, cfg); + } + + } } root@medeb:~/v4l# diff -u media_build/v4l/cx23885.h media_build.remi/v4l/cx23885.h --- media_build/v4l/cx23885.h 2013-03-25 05:45:50.0 +0100 +++ media_build.remi/v4l/cx23885.h 2013-08-21 13:55:20.010625134 +0200 @@ -93,6 +93,7 @@ #define CX23885_BOARD_PROF_8000 37 #define CX23885_BOARD_HAUPPAUGE_HVR4400 38 #define CX23885_BOARD_AVERMEDIA_HC81R 39 +#define CX23885_BOARD_AVERMEDIA_A306 40 #define GPIO_0 0x0001 #define GPIO_1 0x0002 root@medeb:~/v4l# Le 20 août 2013 à 21:31, remi r...@remis.cc a écrit : Hello Seeing that card=39 worked, and, that the A306 doesnt use the LowPower version of the XC3028 , HC81 is an expressCard == lowpower A306 is the PCIe minicard version == not LowPower , I decided to clone the HC81 entries in cx23885-video.c, cx23885.h , cx23885-cards.c And intruct it to load then the xc3028-v27.fw instead, Seems to me alot better , see below , And I added so, the card=40 in the definitions ... I dont think submiting a patch for this woth it yet ... as none of the tuners get created , For the analog video composite/s-video, i'll be able to test it when i find the right cable . root@medeb:~/v4l/media_build/v4l# grep A306 * cx23885-cards.c: [CX23885_BOARD_AVERMEDIA_A306] = { cx23885-cards.c: .name = AVerTV Hybrid Minicard PCIe A306, cx23885-cards.c: .card = CX23885_BOARD_AVERMEDIA_A306, cx23885-cards.c: case CX23885_BOARD_AVERMEDIA_A306: cx23885-cards.c: case CX23885_BOARD_AVERMEDIA_A306: cx23885-cards.c: case CX23885_BOARD_AVERMEDIA_A306: cx23885-cards.c: case CX23885_BOARD_AVERMEDIA_A306: cx23885.h:#define CX23885_BOARD_AVERMEDIA_A306 40 cx23885-video.c: (dev-board == CX23885_BOARD_AVERMEDIA_A306)) { cx23885-video.c: if (dev-board == CX23885_BOARD_AVERMEDIA_A306) { if (dev-board == CX23885_BOARD_AVERMEDIA_HC81R
Re: avermedia A306 / PCIe-minicard (laptop)
Hello I have just putdown my screwdrivers :) Yes it was three ICs on the bottom-side , no heatsinks (digital reception, that's why i guess) , is an AF9013-N1 on the top-side, with a heatsink : CX23885-13Z , PCIe A/V controler on the top-side, with heat-sink + radio-isolation (aluminum box) XC3028ACQ , so the analog reception . Its all on a PCIe bus, the reason why i baught it ... :) To resume : AF9013-N1 CX23885-13Z XC3028ACQ the drivers while scanning gpunk@medeb:~/Bureau$ dmesg |grep i2c [ 2.363784] cx23885[0]: i2c scan: found device @ 0xa0 [eeprom] [ 2.384721] cx23885[0]: i2c scan: found device @ 0xc2 [tuner/mt2131/tda8275/xc5000/xc3028] [ 2.391502] cx23885[0]: i2c scan: found device @ 0x66 [???] [ 2.392339] cx23885[0]: i2c scan: found device @ 0x88 [cx25837] [ 2.392831] cx23885[0]: i2c scan: found device @ 0x98 [flatiron] [ 5.306751] i2c /dev entries driver gpunk@medeb:~/Bureau$ 4.560428] xc2028 2-0061: xc2028_get_reg 0008 called [ 4.560989] xc2028 2-0061: Device is Xceive 0 version 0.0, firmware version 0.0 [ 4.560990] xc2028 2-0061: Incorrect readback of firmware version. [ * 4.561184] xc2028 2-0061: Read invalid device hardware information - tuner hung? [ * 4.561386] xc2028 2-0061: 0.0 0.0 [ * 4.674072] xc2028 2-0061: divisor= 00 00 64 00 (freq=400.000) [ 4.697830] cx23885_dev_checkrevision() Hardware revision = 0xb0 [ 4.698029] cx23885[0]/0: found at :05:00.0, rev: 2, irq: 18, latency: 0, mmio: 0xd300 * -- I bypassed the goto fail to start debugging a little bit the tuner-xc2028.c/ko ... lines 869 ... The firmware doesnt get all loaded . gpunk@medeb:~/Bureau$ uname -a Linux medeb 3.11.0-rc6remi #1 SMP PREEMPT Mon Aug 19 13:30:04 CEST 2013 i686 GNU/Linux gpunk@medeb:~/Bureau$ With yesterday's tarball from linuxtv.org / media-build git . Best regards Rémi Le 19 août 2013 à 17:18, Antti Palosaari cr...@iki.fi a écrit : On 08/19/2013 05:18 PM, remi wrote: Hello I have this card since months, http://www.avermedia.com/avertv/Product/ProductDetail.aspx?Id=376SI=true I have finally retested it with the cx23885 driver : card=39 If I could do anything to identify : [ 2.414734] cx23885[0]: i2c scan: found device @ 0x66 [???] Or hookup the xc5000 etc I'll be more than glad . ps: i opened it up a while ago,i saw an af9013 chip ? dvb-tuner looks like maybe the device @ 0x66 i2c I will double check , and re-write-down all the chips , i think 3 . You have to identify all the chips, for DVB-T there is tuner missing. USB-interface: cx23885 DVB-T demodulator: AF9013 RF-tuner: ? If there is existing driver for used RF-tuner it comes nice hacking project for some newcomer. It is just tweaking and hacking to find out all settings. AF9013 driver also needs likely some changes, currently it is used only for devices having AF9015 with integrated AF9013, or AF9015 dual devices having AF9015 + external AF9013 providing second tuner. I have bought quite similar AverMedia A301 ages back as I was looking for that AF9013 model, but maybe I have bought just wrong one... :) regards Antti -- http://palosaari.fi/ -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: avermedia A306 / PCIe-minicard (laptop)
Hello FYI I digged into the firmware problem a little, xc3028L-v36.fw gets loaded by default , and the errors are as you saw earlier forcing the /lib/firmware/xc3028-v27.fw : [ 3569.941404] xc2028 2-0061: Could not load firmware /lib/firmware/xc3028-v27.fw So i searched the original dell/windows driver : I have these files in there : root@medeb:/home/gpunk/.wine/drive_c/dell/drivers/R169070# ls -lR .: total 5468 drwxr-xr-x 2 gpunk gpunk 4096 août 20 13:24 Driver_X86 -rwxr-xr-x 1 gpunk gpunk 5589827 sept. 12 2007 Setup.exe -rw-r--r-- 1 gpunk gpunk 197 oct. 9 2007 setup.iss ./Driver_X86: total 1448 -rw-r--r-- 1 gpunk gpunk 114338 sept. 7 2007 A885VCap_ASUS_DELL_2.inf -rw-r--r-- 1 gpunk gpunk 15850 sept. 11 2007 a885vcap.cat -rw-r--r-- 1 gpunk gpunk 733824 sept. 7 2007 A885VCap.sys -rw-r--r-- 1 gpunk gpunk 147870 avril 20 2007 cpnotify.ax -rw-r--r-- 1 gpunk gpunk 376836 avril 20 2007 cx416enc.rom -rw-r--r-- 1 gpunk gpunk 65536 avril 20 2007 cxtvrate.dll -rw-r--r-- 1 gpunk gpunk 16382 avril 20 2007 merlinC.rom root@medeb:/home/gpunk/.wine/drive_c/dell/drivers/R169070# root@medeb:/home/gpunk/.wine/drive_c/dell/drivers/R169070/Driver_X86# grep firmware * Fichier binaire A885VCap.sys concordant root@medeb:/home/gpunk/.wine/drive_c/dell/drivers/R169070/Driver_X86# I'll try to find a way to extract maybe the right firmware for what this card , I'd love some help :) Good news there are ALOT of infos on how to initialize the card in the .INF , so many problems, i think, are partially solved (I need to implement them ) I'll send a copy of theses to anyone who wishes, Or see http://www.dell.com/support/drivers/us/en/04/DriverDetails?driverId=R169070 :) Regards Rémi Le 20 août 2013 à 12:32, remi r...@remis.cc a écrit : Hello I have just putdown my screwdrivers :) Yes it was three ICs on the bottom-side , no heatsinks (digital reception, that's why i guess) , is an AF9013-N1 on the top-side, with a heatsink : CX23885-13Z , PCIe A/V controler on the top-side, with heat-sink + radio-isolation (aluminum box) XC3028ACQ , so the analog reception . Its all on a PCIe bus, the reason why i baught it ... :) To resume : AF9013-N1 CX23885-13Z XC3028ACQ the drivers while scanning gpunk@medeb:~/Bureau$ dmesg |grep i2c [ 2.363784] cx23885[0]: i2c scan: found device @ 0xa0 [eeprom] [ 2.384721] cx23885[0]: i2c scan: found device @ 0xc2 [tuner/mt2131/tda8275/xc5000/xc3028] [ 2.391502] cx23885[0]: i2c scan: found device @ 0x66 [???] [ 2.392339] cx23885[0]: i2c scan: found device @ 0x88 [cx25837] [ 2.392831] cx23885[0]: i2c scan: found device @ 0x98 [flatiron] [ 5.306751] i2c /dev entries driver gpunk@medeb:~/Bureau$ 4.560428] xc2028 2-0061: xc2028_get_reg 0008 called [ 4.560989] xc2028 2-0061: Device is Xceive 0 version 0.0, firmware version 0.0 [ 4.560990] xc2028 2-0061: Incorrect readback of firmware version. [ * 4.561184] xc2028 2-0061: Read invalid device hardware information - tuner hung? [ * 4.561386] xc2028 2-0061: 0.0 0.0 [ * 4.674072] xc2028 2-0061: divisor= 00 00 64 00 (freq=400.000) [ 4.697830] cx23885_dev_checkrevision() Hardware revision = 0xb0 [ 4.698029] cx23885[0]/0: found at :05:00.0, rev: 2, irq: 18, latency: 0, mmio: 0xd300 * -- I bypassed the goto fail to start debugging a little bit the tuner-xc2028.c/ko ... lines 869 ... The firmware doesnt get all loaded . gpunk@medeb:~/Bureau$ uname -a Linux medeb 3.11.0-rc6remi #1 SMP PREEMPT Mon Aug 19 13:30:04 CEST 2013 i686 GNU/Linux gpunk@medeb:~/Bureau$ With yesterday's tarball from linuxtv.org / media-build git . Best regards Rémi Le 19 août 2013 à 17:18, Antti Palosaari cr...@iki.fi a écrit : On 08/19/2013 05:18 PM, remi wrote: Hello I have this card since months, http://www.avermedia.com/avertv/Product/ProductDetail.aspx?Id=376SI=true I have finally retested it with the cx23885 driver : card=39 If I could do anything to identify : [ 2.414734] cx23885[0]: i2c scan: found device @ 0x66 [???] Or hookup the xc5000 etc I'll be more than glad . ps: i opened it up a while ago,i saw an af9013 chip ? dvb-tuner looks like maybe the device @ 0x66 i2c I will double check , and re-write-down all the chips , i think 3 . You have to identify all the chips, for DVB-T there is tuner missing. USB-interface: cx23885 DVB-T demodulator: AF9013 RF-tuner: ? If there is existing driver for used RF-tuner it comes nice hacking project for some newcomer. It is just tweaking and hacking to find out all settings. AF9013 driver also needs likely some changes, currently it is used only for devices having AF9015 with integrated AF9013, or AF9015 dual devices having AF9015 + external AF9013 providing second tuner. I have bought quite similar AverMedia A301 ages back as I was looking
Re: avermedia A306 / PCIe-minicard (laptop)
firmware type DTV6 ATSC OREN538 SCODE HAS_IF_5580 (60110020), id 0, size=192. [32654.052813] xc2028 2-0061: Reading firmware type SCODE HAS_IF_5640 (6000), id 30007, size=192. [32654.052816] xc2028 2-0061: Reading firmware type SCODE HAS_IF_5740 (6000), id c0007, size=192. [32654.052819] xc2028 2-0061: Reading firmware type SCODE HAS_IF_5900 (6000), id 0, size=192. [32654.052822] xc2028 2-0061: Reading firmware type MONO SCODE HAS_IF_6000 (60008000), id c04c000f0, size=192. [32654.052825] xc2028 2-0061: Reading firmware type DTV6 QAM ATSC LG60 F6MHZ SCODE HAS_IF_6200 (68050060), id 0, size=192. [32654.052829] xc2028 2-0061: Reading firmware type SCODE HAS_IF_6240 (6000), id 10, size=192. [32654.052834] xc2028 2-0061: Reading firmware type MONO SCODE HAS_IF_6320 (60008000), id 20, size=192. [32654.052837] xc2028 2-0061: Reading firmware type SCODE HAS_IF_6340 (6000), id 20, size=192. [32654.052840] xc2028 2-0061: Reading firmware type MONO SCODE HAS_IF_6500 (60008000), id c044000e0, size=192. [32654.052843] xc2028 2-0061: Reading firmware type DTV6 ATSC ATI638 SCODE HAS_IF_6580 (60090020), id 0, size=192. [32654.052847] xc2028 2-0061: Reading firmware type SCODE HAS_IF_6600 (6000), id 300e0, size=192. [32654.052850] xc2028 2-0061: Reading firmware type MONO SCODE HAS_IF_6680 (60008000), id 300e0, size=192. [32654.052853] xc2028 2-0061: Reading firmware type DTV6 ATSC TOYOTA794 SCODE HAS_IF_8140 (60810020), id 0, size=192. [32654.052857] xc2028 2-0061: Reading firmware type SCODE HAS_IF_8200 (6000), id 0, size=192. [32654.052860] xc2028 2-0061: Firmware files loaded. [32654.057869] xc2028 2-0061: xc2028_set_analog_freq called [32654.057872] xc2028 2-0061: generic_set_freq called [32654.057874] xc2028 2-0061: should set frequency 40 kHz [32654.057876] xc2028 2-0061: check_firmware called [32654.057877] xc2028 2-0061: checking firmware, user requested type=(0), id 000c1000, scode_tbl (0), scode_nr 0 [32654.257895] xc2028 2-0061: load_firmware called [32654.257898] xc2028 2-0061: seek_firmware called, want type=BASE (1), id . [32654.257900] xc2028 2-0061: Found firmware for type=BASE (1), id . [32654.257902] xc2028 2-0061: Loading firmware for type=BASE (1), id . [32655.425394] xc2028 2-0061: Load init1 firmware, if exists [32655.425399] xc2028 2-0061: load_firmware called [32655.425402] xc2028 2-0061: seek_firmware called, want type=BASE INIT1 (4001), id . [32655.425407] xc2028 2-0061: Can't find firmware for type=BASE INIT1 (4001), id . [32655.425412] xc2028 2-0061: load_firmware called [32655.425414] xc2028 2-0061: seek_firmware called, want type=BASE INIT1 (4001), id . [32655.425418] xc2028 2-0061: Can't find firmware for type=BASE INIT1 (4001), id . [32655.425423] xc2028 2-0061: load_firmware called [32655.425425] xc2028 2-0061: seek_firmware called, want type=(0), id 000c1000. [32655.425429] xc2028 2-0061: Selecting best matching firmware (2 bits) for type=(0), id 000c1000: [32655.425432] xc2028 2-0061: Found firmware for type=(0), id 000c00e0. [32655.425435] xc2028 2-0061: Loading firmware for type=(0), id 000c00e0. [32655.440874] xc2028 2-0061: Trying to load scode 0 [32655.440875] xc2028 2-0061: load_scode called [32655.440877] xc2028 2-0061: seek_firmware called, want type=SCODE (2000), id 000c00e0. [32655.440879] xc2028 2-0061: Found firmware for type=SCODE (2000), id 000c04c000f0. [32655.440881] xc2028 2-0061: Loading SCODE for type=MONO SCODE HAS_IF_6000 (60008000), id 000c04c000f0. [32655.443192] xc2028 2-0061: xc2028_get_reg 0004 called [32655.443855] xc2028 2-0061: xc2028_get_reg 0008 called [32655.444521] xc2028 2-0061: Device is Xceive 3028 version 1.0, firmware version 2.7 [32655.557141] xc2028 2-0061: divisor= 00 00 64 00 (freq=400.000) [32655.580856] cx23885_dev_checkrevision() Hardware revision = 0xb0 [32655.580862] cx23885[0]/0: found at :05:00.0, rev: 2, irq: 18, latency: 0, mmio: 0xd300 root@medeb:~/v4l/media_build# Best regards Rémi . Le 20 août 2013 à 16:44, remi r...@remis.cc a écrit : Hello FYI I digged into the firmware problem a little, xc3028L-v36.fw gets loaded by default , and the errors are as you saw earlier forcing the /lib/firmware/xc3028-v27.fw : [ 3569.941404] xc2028 2-0061: Could not load firmware /lib/firmware/xc3028-v27.fw So i searched the original dell/windows driver : I have these files in there : root@medeb:/home/gpunk/.wine/drive_c/dell/drivers/R169070# ls -lR .: total 5468 drwxr-xr-x 2 gpunk gpunk 4096 août 20 13:24 Driver_X86 -rwxr-xr-x 1 gpunk gpunk 5589827 sept. 12 2007 Setup.exe -rw-r--r-- 1 gpunk gpunk 197 oct. 9 2007 setup.iss ./Driver_X86: total 1448 -rw-r--r-- 1 gpunk gpunk 114338 sept. 7 2007 A885VCap_ASUS_DELL_2.inf -rw-r--r-- 1 gpunk gpunk 15850 sept. 11 2007
avermedia A306 / PCIe-minicard (laptop)
Hello I have this card since months, http://www.avermedia.com/avertv/Product/ProductDetail.aspx?Id=376SI=true I have finally retested it with the cx23885 driver : card=39 If I could do anything to identify : [ 2.414734] cx23885[0]: i2c scan: found device @ 0x66 [???] Or hookup the xc5000 etc I'll be more than glad . root@medeb:~# dmesg | grep -i cx [ 2.140445] cx23885 driver version 0.0.3 loaded [ 2.140949] CORE cx23885[0]: subsystem: 1461:c139, board: AVerTV Hybrid Express Slim HC81R [card=39,insmod option] [ 2.375411] cx23885[0]: scan bus 0: [ 2.387018] cx23885[0]: i2c scan: found device @ 0xa0 [eeprom] [ 2.393978] cx23885[0]: scan bus 1: [ 2.407961] cx23885[0]: i2c scan: found device @ 0xc2 [tuner/mt2131/tda8275/xc5000/xc3028] [ 2.412550] cx23885[0]: scan bus 2: [ 2.414734] cx23885[0]: i2c scan: found device @ 0x66 [???] [ 2.415569] cx23885[0]: i2c scan: found device @ 0x88 [cx25837] [ 2.416062] cx23885[0]: i2c scan: found device @ 0x98 [flatiron] [ 2.450115] cx25840 3-0044: cx23885 A/V decoder found @ 0x88 (cx23885[0]) [ 3.090011] cx25840 3-0044: loaded v4l-cx23885-avcore-01.fw firmware (16382 bytes) [ 3.111328] cx23885[0]: registered device video1 [v4l2] [ 3.111597] cx23885[0]: registered device vbi0 [ 3.111884] cx23885[0]: registered ALSA audio device [ 4.690855] cx23885_dev_checkrevision() Hardware revision = 0xb0 [ 4.691054] cx23885[0]/0: found at :05:00.0, rev: 2, irq: 18, latency: 0, mmio: 0xd300 [ 325.767037] usbcore: registered new interface driver cx231xx [ 325.767948] cx231xx: Cx231xx dvb Extension initialized [ 347.921336] cx231xx: Cx231xx dvb Extension removed [ 354.682367] cx231xx_dvb: `' invalid for parameter `debug' [ 358.874607] cx231xx: Cx231xx dvb Extension initialized [ 365.393339] cx231xx: Cx231xx dvb Extension removed [ 367.306463] cx231xx: Cx231xx dvb Extension initialized root@medeb:~# also tuner-xc2028 sees it [ 2.407961] cx23885[0]: i2c scan: found device @ 0xc2 [tuner/mt2131/tda8275/xc5000/xc3028] [ 3.110806] xc2028: Xcv2028/3028 init called! [ 3.110809] xc2028 2-0061: creating new instance [ 3.111025] xc2028 2-0061: type set to XCeive xc2028/xc3028 tuner [ 3.111218] xc2028 2-0061: xc2028_set_config called [ 3.112079] xc2028 2-0061: request_firmware_nowait(): OK [ 3.112080] xc2028 2-0061: load_all_firmwares called [ 3.112082] xc2028 2-0061: Loading 81 firmware images from xc3028L-v36.fw, type: xc2028 firmware, ver 3.6 [ 3.112088] xc2028 2-0061: Reading firmware type BASE F8MHZ (3), id 0, size=9144. [ 3.112095] xc2028 2-0061: Reading firmware type BASE F8MHZ MTS (7), id 0, size=9030. [ 3.112101] xc2028 2-0061: Reading firmware type BASE FM (401), id 0, size=9054. [ 3.112109] xc2028 2-0061: Reading firmware type BASE FM INPUT1 (c01), id 0, size=9068. [ 3.112114] xc2028 2-0061: Reading firmware type BASE (1), id 0, size=9132. [ 3.112120] xc2028 2-0061: Reading firmware type BASE MTS (5), id 0, size=9006. [ 3.112123] xc2028 2-0061: Reading firmware type (0), id 7, size=161. [ 3.112124] xc2028 2-0061: Reading firmware type MTS (4), id 7, size=169. [ 3.112126] xc2028 2-0061: Reading firmware type (0), id 7, size=161. [ 3.112127] xc2028 2-0061: Reading firmware type MTS (4), id 7, size=169. [ 3.112128] xc2028 2-0061: Reading firmware type (0), id 7, size=161. [ 3.112130] xc2028 2-0061: Reading firmware type MTS (4), id 7, size=169. [ 3.112133] xc2028 2-0061: Reading firmware type (0), id 7, size=161. [ 3.112137] xc2028 2-0061: Reading firmware type MTS (4), id 7, size=169. [ 3.112138] xc2028 2-0061: Reading firmware type (0), id e0, size=161. [ 3.112140] xc2028 2-0061: Reading firmware type MTS (4), id e0, size=169. [ 3.112141] xc2028 2-0061: Reading firmware type (0), id e0, size=161. [ 3.112143] xc2028 2-0061: Reading firmware type MTS (4), id e0, size=169. [ 3.112144] xc2028 2-0061: Reading firmware type (0), id 20, size=161. [ 3.112146] xc2028 2-0061: Reading firmware type MTS (4), id 20, size=169. [ 3.112147] xc2028 2-0061: Reading firmware type (0), id 400, size=161. [ 3.112149] xc2028 2-0061: Reading firmware type MTS (4), id 400, size=169. [ 3.112151] xc2028 2-0061: Reading firmware type D2633 DTV6 ATSC (10030), id 0, size=149. [ 3.112153] xc2028 2-0061: Reading firmware type D2620 DTV6 QAM (68), id 0, size=149. [ 3.112154] xc2028 2-0061: Reading firmware type D2633 DTV6 QAM (70), id 0, size=149. [ 3.112156] xc2028 2-0061: Reading firmware type D2620 DTV7 (88), id 0, size=149. [ 3.112158] xc2028 2-0061: Reading firmware type D2633 DTV7 (90), id 0, size=149. [ 3.112159] xc2028 2-0061: Reading firmware type D2620 DTV78 (108), id 0, size=149. [ 3.112161] xc2028 2-0061: Reading firmware type D2633 DTV78 (110), id 0, size=149. [ 3.112163] xc2028 2-0061: Reading firmware type D2620 DTV8 (208), id 0, size=149. [ 3.112164] xc2028 2-0061: Reading
Re: patch for Asus My Cinema PS3-100 (1043:48cd)
Some good news !! With kernel 3.2.15 and latest media-build tree, no more kernel Oops. DVB-T and remote work fine. Here is the complete patch against latest media-build tree, with fixed IR keytable. Regards, Rémi Signed-off-by: Remi Schwartz remi.schwa...@gmail.com Index: patchwork/drivers/media/video/saa7134/saa7134-input.c === --- patchwork.orig/drivers/media/video/saa7134/saa7134-input.c +++ patchwork/drivers/media/video/saa7134/saa7134-input.c @@ -753,6 +753,13 @@ int saa7134_input_init1(struct saa7134_d mask_keycode = 0x; raw_decode = true; break; + case SAA7134_BOARD_ASUSTeK_PS3_100: + ir_codes = RC_MAP_ASUS_PS3_100; + mask_keydown = 0x004; + mask_keyup = 0x004; + mask_keycode = 0x; + raw_decode = true; + break; case SAA7134_BOARD_ENCORE_ENLTV: case SAA7134_BOARD_ENCORE_ENLTV_FM: ir_codes = RC_MAP_ENCORE_ENLTV; Index: patchwork/drivers/media/video/saa7134/saa7134-dvb.c === --- patchwork.orig/drivers/media/video/saa7134/saa7134-dvb.c +++ patchwork/drivers/media/video/saa7134/saa7134-dvb.c @@ -881,6 +881,20 @@ static struct tda1004x_config asus_tiger .request_firmware = philips_tda1004x_request_firmware }; +static struct tda1004x_config asus_ps3_100_config = { + .demod_address = 0x0b, + .invert= 1, + .invert_oclk = 0, + .xtal_freq = TDA10046_XTAL_16M, + .agc_config= TDA10046_AGC_TDA827X, + .gpio_config = TDA10046_GP11_I, + .if_freq = TDA10046_FREQ_045, + .i2c_gate = 0x4b, + .tuner_address = 0x61, + .antenna_switch = 1, + .request_firmware = philips_tda1004x_request_firmware +}; + /* -- * special case: this card uses saa713x GPIO22 for the mode switch */ @@ -1649,6 +1663,31 @@ static int dvb_init(struct saa7134_dev * found!\n, __func__); goto dettach_frontend; } + } + } + break; + case SAA7134_BOARD_ASUSTeK_PS3_100: + if (!use_frontend) { /* terrestrial */ + if (configure_tda827x_fe(dev, asus_ps3_100_config, + tda827x_cfg_2) 0) + goto dettach_frontend; + } else {/* satellite */ + fe0-dvb.frontend = dvb_attach(tda10086_attach, + flydvbs, dev-i2c_adap); + if (fe0-dvb.frontend) { + if (dvb_attach(tda826x_attach, + fe0-dvb.frontend, 0x60, + dev-i2c_adap, 0) == NULL) { + wprintk(%s: Asus My Cinema PS3-100, no + tda826x found!\n, __func__); + goto dettach_frontend; + } + if (dvb_attach(lnbp21_attach, fe0-dvb.frontend, + dev-i2c_adap, 0, 0) == NULL) { + wprintk(%s: Asus My Cinema PS3-100, no lnbp21 +found!\n, __func__); + goto dettach_frontend; + } } } break; Index: patchwork/drivers/media/video/saa7134/saa7134-cards.c === --- patchwork.orig/drivers/media/video/saa7134/saa7134-cards.c +++ patchwork/drivers/media/video/saa7134/saa7134-cards.c @@ -5080,6 +5080,36 @@ struct saa7134_board saa7134_boards[] = .gpio = 0x020, }, }, + [SAA7134_BOARD_ASUSTeK_PS3_100] = { + .name = Asus My Cinema PS3-100, + .audio_clock= 0x00187de7, + .tuner_type = TUNER_PHILIPS_TDA8290, + .radio_type = UNSET, + .tuner_addr = ADDR_UNSET, + .radio_addr = ADDR_UNSET, + .tuner_config = 2, + .gpiomask = 1 21, + .mpeg = SAA7134_MPEG_DVB, + .inputs = {{ + .name = name_tv, + .vmux = 1, + .amux = TV
Re: patch for Asus My Cinema PS3-100 (1043:48cd)
Ok, I used your patch against the last media-build tree. Here are the results. * first, I added these lines to the patch to get the modules compiled : ### Signed-off-by: Remi Schwartz remi.schwa...@gmail.com Index: patchwork/include/media/rc-map.h === --- patchwork.orig/include/media/rc-map.h +++ patchwork/include/media/rc-map.h @@ -62,6 +62,7 @@ #define RC_MAP_ANYSEErc-anysee #define RC_MAP_APAC_VIEWCOMP rc-apac-viewcomp #define RC_MAP_ASUS_PC39 rc-asus-pc39 +#define RC_MAP_ASUS_PS3_100 rc-asus-ps3-100 #define RC_MAP_ATI_TV_WONDER_HD_600 rc-ati-tv-wonder-hd-600 #define RC_MAP_ATI_X10 rc-ati-x10 #define RC_MAP_AVERMEDIA_A16Drc-avermedia-a16d Index: patchwork/drivers/media/rc/keymaps/Makefile === --- patchwork.orig/drivers/media/rc/keymaps/Makefile +++ patchwork/drivers/media/rc/keymaps/Makefile @@ -3,6 +3,7 @@ rc-anysee.o \ rc-apac-viewcomp.o \ rc-asus-pc39.o \ + rc-asus-ps3-100.o \ rc-ati-tv-wonder-hd-600.o \ rc-ati-x10.o \ rc-avermedia-a16d.o \ ### * then, I wanted to compile the RC part using CONFIG_RC_CORE=y, this is what I have obtained : WARNING: rc_unregister_device [/usr/src/media_build/v4l/saa7134.ko] undefined! WARNING: rc_allocate_device [/usr/src/media_build/v4l/saa7134.ko] undefined! WARNING: rc_free_device [/usr/src/media_build/v4l/saa7134.ko] undefined! WARNING: ir_raw_event_store_edge [/usr/src/media_build/v4l/saa7134.ko] undefined! WARNING: rc_register_device [/usr/src/media_build/v4l/saa7134.ko] undefined! WARNING: rc_keydown_notimeout [/usr/src/media_build/v4l/saa7134.ko] undefined! WARNING: rc_keyup [/usr/src/media_build/v4l/saa7134.ko] undefined! WARNING: ir_raw_event_handle [/usr/src/media_build/v4l/saa7134.ko] undefined! and the compiled modules don't load because of unknown symbols * changing to CONFIG_RC_CORE=m lets the modules compile and load, but when loading, I get BUG: unable to handle kernel NULL pointer dereference at (null). More precisely : [ 15.730917] saa7130/34: v4l2 driver version 0, 2, 17 loaded [ 15.732471] saa7134 :01:09.0: PCI INT A - Link[APC2] - GSI 17 (level, low) - IRQ 17 [ 15.732477] saa7133[0]: found at :01:09.0, rev: 209, irq: 17, latency: 32, mmio: 0xfddfe000 [ 15.732484] saa7133[0]: subsystem: 1043:48cd, board: Asus My Cinema PS3-100 [card=190,autodetected] [ 15.732510] saa7133[0]: board init: gpio is 4 [ 15.816459] Registered IR keymap rc-asus-ps3-100 [ 15.816554] input: saa7134 IR (Asus My Cinema PS3- as /devices/pci:00/:00:10.0/:01:09.0/rc/rc0/input5 [ 15.816611] rc0: saa7134 IR (Asus My Cinema PS3- as /devices/pci:00/:00:10.0/:01:09.0/rc/rc0 [ 15.830376] IRQ 17/saa7133[0]: IRQF_DISABLED is not guaranteed on shared IRQs [ 15.830428] BUG: unable to handle kernel NULL pointer dereference at (null) [ 15.830431] IP: [812fcd21] _spin_lock_irqsave+0x1a/0x34 [ 15.830438] PGD 0 [ 15.830440] Oops: 0002 [#1] SMP [ 15.830442] last sysfs file: /sys/devices/virtual/dmi/id/sys_vendor [ 15.830445] CPU 0 [ 15.830446] Modules linked in: snd_hda_intel(+) snd_hda_codec snd_hwdep snd_pcm_oss snd_mixer_oss rc_asus_ps3_100 snd_pcm snd_seq_midi snd_rawmidi saa7134(+) snd_seq_midi_event snd_seq rc_core snd_timer snd_seq_device parport_pc parport videobuf_dma_sg videobuf_core v4l2_common videodev tveeprom asus_atk0110 snd amd64_edac_mod(-) i2c_nforce2 button evdev pcspkr psmouse serio_raw soundcore snd_page_alloc edac_core edac_mce_amd k8temp i2c_core processor ext4 mbcache jbd2 crc16 sg sd_mod crc_t10dif sr_mod cdrom ohci_hcd ata_generic sata_nv ehci_hcd fan pata_amd firewire_ohci floppy firewire_core crc_itu_t thermal libata scsi_mod usbcore nls_base thermal_sys forcedeth [last unloaded: scsi_wait_scan] [ 15.830479] Pid: 810, comm: rc0 Not tainted 2.6.32-5-amd64 #1 System Product Name [ 15.830481] RIP: 0010:[812fcd21] [812fcd21] _spin_lock_irqsave+0x1a/0x34 [ 15.830486] RSP: 0018:8800ae147e90 EFLAGS: 00010086 [ 15.830488] RAX: 0086 RBX: 8800ad60cde0 RCX: 8800ae15a350 [ 15.830490] RDX: 0001 RSI: 0086 RDI: [ 15.830492] RBP: 8800abc86a00 R08: 8800ae146000 R09: 880001815780 [ 15.830494] R10: 0011 R11: 8800aec0f000 R12: 8800ae7a3c58 [ 15.830496] R13: 8800abc86a18 R14: 8800ae15a350 R15: [ 15.830498] FS: 7f3c4693d7a0() GS:88000180() knlGS: [ 15.830500] CS: 0010 DS
patch for Asus My Cinema PS3-100 (1043:48cd)
Hi all, This is the patch against kernel 2.6.32 I used to get my TV card Asus My Cinema PS3-100 (1043:48cd) to work. More information on this card can be found on this page : http://www.0xf8.org/2009/09/asus-mycinema-ps3-100-3-in-1-tv-card/ This card seems to be a clone of the Asus Tiger 3in1, numbered 147 in the SAA7134 module, so I gave it the temporary number of 1470. DVB-T and remote have been tested and work fine. DVB-S, FM and Composite input haven't been tested. Hope that will help some of you. Rémi --- ./include/media/ir-common.h.orig 2009-12-03 04:51:21.0 +0100 +++ ./include/media/ir-common.h 2012-03-09 20:23:09.325249426 +0100 @@ -155,6 +155,7 @@ extern struct ir_scancode_table ir_codes extern struct ir_scancode_table ir_codes_proteus_2309_table; extern struct ir_scancode_table ir_codes_budget_ci_old_table; extern struct ir_scancode_table ir_codes_asus_pc39_table; +extern struct ir_scancode_table ir_codes_asus_ps3_100_table; extern struct ir_scancode_table ir_codes_encore_enltv_table; extern struct ir_scancode_table ir_codes_encore_enltv2_table; extern struct ir_scancode_table ir_codes_tt_1500_table; --- ./drivers/media/common/ir-keymaps.c.orig 2009-12-03 04:51:21.0 +0100 +++ ./drivers/media/common/ir-keymaps.c 2012-03-29 18:43:59.170879721 +0200 @@ -2064,6 +2064,70 @@ struct ir_scancode_table ir_codes_asus_p EXPORT_SYMBOL_GPL(ir_codes_asus_pc39_table); +/* + * Remi Schwartz remi.schwa...@gmail.com + * this is the remote control that comes with the asus my cinema ps3-100 + * base taken from pc39 one + */ +static struct ir_scancode ir_codes_asus_ps3_100[] = { + { 0x23, KEY_HOME }, /* home */ + { 0x21, KEY_TV }, /* tv */ + { 0x3c, KEY_TEXT }, /* teletext */ + { 0x16, KEY_POWER }, /* close */ + + { 0x34, KEY_RED }, /* red */ + { 0x32, KEY_YELLOW }, /* yellow */ + { 0x39, KEY_BLUE }, /* blue */ + { 0x38, KEY_GREEN }, /* green */ + + /* Keys 0 to 9 */ + { 0x15, KEY_0 }, + { 0x29, KEY_1 }, + { 0x2d, KEY_2 }, + { 0x2b, KEY_3 }, + { 0x09, KEY_4 }, + { 0x0d, KEY_5 }, + { 0x0b, KEY_6 }, + { 0x31, KEY_7 }, + { 0x35, KEY_8 }, + { 0x33, KEY_9 }, + + { 0x2a, KEY_VOLUMEUP }, + { 0x19, KEY_VOLUMEDOWN }, + { 0x0a, KEY_CHANNELUP }, /* channel / program + */ + { 0x1b, KEY_CHANNELDOWN }, /* channel / program - */ + + { 0x37, KEY_UP }, + { 0x3b, KEY_DOWN }, + { 0x27, KEY_LEFT }, + { 0x2f, KEY_RIGHT }, + { 0x1a, KEY_ENTER }, /* enter */ + + { 0x1d, KEY_EXIT }, /* back */ + { 0x13, KEY_AB }, /* recall */ + + { 0x1f, KEY_AUDIO }, /* TV audio */ + { 0x08, KEY_SCREEN }, /* snapshot */ + { 0x11, KEY_ZOOM }, /* full screen */ + { 0x3d, KEY_MUTE }, /* mute */ + + { 0x0e, KEY_REWIND }, /* backward */ + { 0x2e, KEY_RECORD }, /* recording */ + { 0x36, KEY_STOP }, + { 0x3a, KEY_FASTFORWARD }, /* forward */ + { 0x1e, KEY_PREVIOUS }, /* rew */ + { 0x25, KEY_PAUSE }, /* pause */ + { 0x06, KEY_PLAY }, /* play */ + { 0x26, KEY_NEXT }, /* forward */ +}; + +struct ir_scancode_table ir_codes_asus_ps3_100_table = { + .scan = ir_codes_asus_ps3_100, + .size = ARRAY_SIZE(ir_codes_asus_ps3_100), +}; +EXPORT_SYMBOL_GPL(ir_codes_asus_ps3_100_table); + + /* Encore ENLTV-FM - black plastic, white front cover with white glowing buttons Juan Pablo Sormani sor...@gmail.com */ static struct ir_scancode ir_codes_encore_enltv[] = { --- ./drivers/media/video/saa7134/saa7134-input.c.orig 2009-12-03 04:51:21.0 +0100 +++ ./drivers/media/video/saa7134/saa7134-input.c 2012-03-09 20:23:09.337244873 +0100 @@ -575,6 +575,11 @@ int saa7134_input_init1(struct saa7134_d mask_keydown = 0x004; rc5_gpio = 1; break; + case SAA7134_BOARD_ASUSTeK_PS3_100: + ir_codes = ir_codes_asus_ps3_100_table; + mask_keydown = 0x004; + rc5_gpio = 1; + break; case SAA7134_BOARD_ENCORE_ENLTV: case SAA7134_BOARD_ENCORE_ENLTV_FM: ir_codes = ir_codes_encore_enltv_table; --- ./drivers/media/video/saa7134/saa7134-dvb.c.orig 2012-01-15 06:52:12.0 +0100 +++ ./drivers/media/video/saa7134/saa7134-dvb.c 2012-03-09 20:23:09.337244873 +0100 @@ -824,6 +824,20 @@ static struct tda1004x_config asus_tiger .request_firmware = philips_tda1004x_request_firmware }; +static struct tda1004x_config asus_ps3_100_config = { + .demod_address = 0x0b, + .invert= 1, + .invert_oclk = 0, + .xtal_freq = TDA10046_XTAL_16M, + .agc_config= TDA10046_AGC_TDA827X, + .gpio_config = TDA10046_GP11_I, + .if_freq = TDA10046_FREQ_045, + .i2c_gate = 0x4b, + .tuner_address = 0x61, + .antenna_switch = 1, + .request_firmware = philips_tda1004x_request_firmware +}; + /* -- * special case: this card uses saa713x GPIO22 for the mode switch */ @@ -1465,6 +1479,31 @@ static int dvb_init(struct saa7134_dev * found!\n, __func__); goto dettach_frontend; } + } + } + break; + case SAA7134_BOARD_ASUSTeK_PS3_100: + if (!use_frontend) { /* terrestrial */ + if (configure_tda827x_fe(dev
patch for Asus My Cinema PS3-100 (1043:48cd)
Hi all, This is the patch against kernel 2.6.32 I used to get my TV card Asus My Cinema PS3-100 (1043:48cd) to work. More information on this card can be found on this page : http://www.0xf8.org/2009/09/asus-mycinema-ps3-100-3-in-1-tv-card/ This card seems to be a clone of the Asus Tiger 3in1, numbered 147 in the SAA7134 module, so I gave it the temporary number of 1470. DVB-T and remote have been tested and work fine. DVB-S, FM and Composite input haven't been tested. Hope that will help some of you. Rémi Signed-off-by: Remi Schwartz remi.schwa...@gmail.com --- ./include/media/ir-common.h.orig2009-12-03 04:51:21.0 +0100 +++ ./include/media/ir-common.h 2012-03-09 20:23:09.325249426 +0100 @@ -155,6 +155,7 @@ extern struct ir_scancode_table ir_codes extern struct ir_scancode_table ir_codes_proteus_2309_table; extern struct ir_scancode_table ir_codes_budget_ci_old_table; extern struct ir_scancode_table ir_codes_asus_pc39_table; +extern struct ir_scancode_table ir_codes_asus_ps3_100_table; extern struct ir_scancode_table ir_codes_encore_enltv_table; extern struct ir_scancode_table ir_codes_encore_enltv2_table; extern struct ir_scancode_table ir_codes_tt_1500_table; --- ./drivers/media/common/ir-keymaps.c.orig2009-12-03 04:51:21.0 +0100 +++ ./drivers/media/common/ir-keymaps.c 2012-03-29 18:43:59.170879721 +0200 @@ -2064,6 +2064,70 @@ struct ir_scancode_table ir_codes_asus_p EXPORT_SYMBOL_GPL(ir_codes_asus_pc39_table); +/* + * Remi Schwartz remi.schwa...@gmail.com + * this is the remote control that comes with the asus my cinema ps3-100 + * base taken from pc39 one + */ +static struct ir_scancode ir_codes_asus_ps3_100[] = { + { 0x23, KEY_HOME }, /* home */ + { 0x21, KEY_TV }, /* tv */ + { 0x3c, KEY_TEXT }, /* teletext */ + { 0x16, KEY_POWER },/* close */ + + { 0x34, KEY_RED }, /* red */ + { 0x32, KEY_YELLOW }, /* yellow */ + { 0x39, KEY_BLUE }, /* blue */ + { 0x38, KEY_GREEN },/* green */ + + /* Keys 0 to 9 */ + { 0x15, KEY_0 }, + { 0x29, KEY_1 }, + { 0x2d, KEY_2 }, + { 0x2b, KEY_3 }, + { 0x09, KEY_4 }, + { 0x0d, KEY_5 }, + { 0x0b, KEY_6 }, + { 0x31, KEY_7 }, + { 0x35, KEY_8 }, + { 0x33, KEY_9 }, + + { 0x2a, KEY_VOLUMEUP }, + { 0x19, KEY_VOLUMEDOWN }, + { 0x0a, KEY_CHANNELUP },/* channel / program + */ + { 0x1b, KEY_CHANNELDOWN }, /* channel / program - */ + + { 0x37, KEY_UP }, + { 0x3b, KEY_DOWN }, + { 0x27, KEY_LEFT }, + { 0x2f, KEY_RIGHT }, + { 0x1a, KEY_ENTER },/* enter */ + + { 0x1d, KEY_EXIT }, /* back */ + { 0x13, KEY_AB }, /* recall */ + + { 0x1f, KEY_AUDIO },/* TV audio */ + { 0x08, KEY_SCREEN }, /* snapshot */ + { 0x11, KEY_ZOOM }, /* full screen */ + { 0x3d, KEY_MUTE }, /* mute */ + + { 0x0e, KEY_REWIND }, /* backward */ + { 0x2e, KEY_RECORD }, /* recording */ + { 0x36, KEY_STOP }, + { 0x3a, KEY_FASTFORWARD }, /* forward */ + { 0x1e, KEY_PREVIOUS }, /* rew */ + { 0x25, KEY_PAUSE },/* pause */ + { 0x06, KEY_PLAY }, /* play */ + { 0x26, KEY_NEXT }, /* forward */ +}; + +struct ir_scancode_table ir_codes_asus_ps3_100_table = { + .scan = ir_codes_asus_ps3_100, + .size = ARRAY_SIZE(ir_codes_asus_ps3_100), +}; +EXPORT_SYMBOL_GPL(ir_codes_asus_ps3_100_table); + + /* Encore ENLTV-FM - black plastic, white front cover with white glowing buttons Juan Pablo Sormani sor...@gmail.com */ static struct ir_scancode ir_codes_encore_enltv[] = { --- ./drivers/media/video/saa7134/saa7134-input.c.orig 2009-12-03 04:51:21.0 +0100 +++ ./drivers/media/video/saa7134/saa7134-input.c 2012-03-09 20:23:09.337244873 +0100 @@ -575,6 +575,11 @@ int saa7134_input_init1(struct saa7134_d mask_keydown = 0x004; rc5_gpio = 1; break; + case SAA7134_BOARD_ASUSTeK_PS3_100: + ir_codes = ir_codes_asus_ps3_100_table; + mask_keydown = 0x004; + rc5_gpio = 1; + break; case SAA7134_BOARD_ENCORE_ENLTV: case SAA7134_BOARD_ENCORE_ENLTV_FM: ir_codes = ir_codes_encore_enltv_table; --- ./drivers/media/video/saa7134/saa7134-dvb.c.orig2012-01-15 06:52:12.0 +0100 +++ ./drivers/media/video/saa7134/saa7134-dvb.c 2012-03-09 20:23:09.337244873 +0100 @@ -824,6 +824,20 @@ static struct tda1004x_config asus_tiger .request_firmware = philips_tda1004x_request_firmware }; +static struct tda1004x_config asus_ps3_100_config = { + .demod_address = 0x0b
Re: patch for Asus My Cinema PS3-100 (1043:48cd)
Le vendredi 15 juillet 2011, remzouille a écrit : Le jeudi 14 juillet 2011 18:50:39, vous avez écrit : Em 14-07-2011 06:28, remzouille escreveu: Hi all, This is the patch against kernel 2.6.32 I used to get to work my TV card Asus My Cinema PS3-100 (1043:48cd). More information on this card can be found on this page : http://techblog.hollants.com/2009/09/asus-mycinema-ps3-100-3-in-1-tv-ca rd / This card seems to be a clone of the Asus Tiger 3in1, numbered 147 in the SAA7134 module, so I gave it the temporary number of 1470. It has in addition a remote controller that works fine with the ir_codes_asus_pc39_table. I haven't finished the work on all keys but the most usefull ones are working. Please finish the keytable mapping and re-send it with your Signed-off-By. Ok, I'll do that when I am back at home in a few days. As I said, the remote is already quite fully functional. The remote part is now complete. DVB-T and remote have been tested and work fine. DVB-S, FM and Composite input haven't been tested. Hope that will help some of you. Thanks! Mauro You're welcome ! Rémi Signed-off-by: Remzouille remzoui...@free.fr --- ./include/media/ir-common.h.orig 2009-12-03 04:51:21.0 +0100 +++ ./include/media/ir-common.h 2011-07-18 23:53:17.281797898 +0200 @@ -155,6 +155,7 @@ extern struct ir_scancode_table ir_codes extern struct ir_scancode_table ir_codes_proteus_2309_table; extern struct ir_scancode_table ir_codes_budget_ci_old_table; extern struct ir_scancode_table ir_codes_asus_pc39_table; +extern struct ir_scancode_table ir_codes_asus_ps3_100_table; extern struct ir_scancode_table ir_codes_encore_enltv_table; extern struct ir_scancode_table ir_codes_encore_enltv2_table; extern struct ir_scancode_table ir_codes_tt_1500_table; --- ./drivers/media/common/ir-keymaps.c.orig 2009-12-03 04:51:21.0 +0100 +++ ./drivers/media/common/ir-keymaps.c 2011-07-19 00:10:56.090801168 +0200 @@ -2064,6 +2064,70 @@ struct ir_scancode_table ir_codes_asus_p EXPORT_SYMBOL_GPL(ir_codes_asus_pc39_table); +/* + * Remzouille remzoui...@free.fr + * this is the remote control that comes with the asus my cinema ps3-100 + * base taken from pc39 one + */ +static struct ir_scancode ir_codes_asus_ps3_100[] = { + { 0x23, KEY_HOME }, /* home */ + { 0x21, KEY_TV }, /* tv */ + { 0x3c, KEY_TEXT }, /* teletext */ + { 0x16, KEY_POWER }, /* close */ + + { 0x34, KEY_RED }, /* red */ + { 0x32, KEY_YELLOW }, /* yellow */ + { 0x39, KEY_BLUE }, /* blue */ + { 0x38, KEY_GREEN }, /* green */ + + /* Keys 0 to 9 */ + { 0x15, KEY_0 }, + { 0x29, KEY_1 }, + { 0x2d, KEY_2 }, + { 0x2b, KEY_3 }, + { 0x09, KEY_4 }, + { 0x0d, KEY_5 }, + { 0x0b, KEY_6 }, + { 0x31, KEY_7 }, + { 0x35, KEY_8 }, + { 0x33, KEY_9 }, + + { 0x2a, KEY_VOLUMEUP }, + { 0x19, KEY_VOLUMEDOWN }, + { 0x0a, KEY_CHANNELUP }, /* channel / program + */ + { 0x1b, KEY_CHANNELDOWN }, /* channel / program - */ + + { 0x37, KEY_UP }, + { 0x3b, KEY_DOWN }, + { 0x27, KEY_LEFT }, + { 0x2f, KEY_RIGHT }, + { 0x1a, KEY_ENTER }, /* enter */ + + { 0x1d, KEY_EXIT }, /* back */ + { 0x13, KEY_AB }, /* recall */ + + { 0x1f, KEY_AUDIO }, /* TV audio */ + { 0x08, KEY_SCREEN }, /* snapshot */ + { 0x11, KEY_ZOOM }, /* full screen */ + { 0x3d, KEY_MUTE }, /* mute */ + + { 0x0e, KEY_REWIND }, /* backward */ + { 0x2e, KEY_RECORD }, /* recording */ + { 0x36, KEY_STOP }, + { 0x3a, KEY_FASTFORWARD }, /* forward */ + { 0x1e, KEY_PREVIOUS }, /* rew */ + { 0x25, KEY_PAUSE }, /* pause */ + { 0x06, KEY_PLAY }, /* play */ + { 0x26, KEY_NEXT }, /* forward */ +}; + +struct ir_scancode_table ir_codes_asus_ps3_100_table = { + .scan = ir_codes_asus_ps3_100, + .size = ARRAY_SIZE(ir_codes_asus_ps3_100), +}; +EXPORT_SYMBOL_GPL(ir_codes_asus_ps3_100_table); + + /* Encore ENLTV-FM - black plastic, white front cover with white glowing buttons Juan Pablo Sormani sor...@gmail.com */ static struct ir_scancode ir_codes_encore_enltv[] = { --- ./drivers/media/video/saa7134/saa7134-input.c.orig 2009-12-03 04:51:21.0 +0100 +++ ./drivers/media/video/saa7134/saa7134-input.c 2011-07-18 23:53:17.293797824 +0200 @@ -575,6 +575,11 @@ int saa7134_input_init1(struct saa7134_d mask_keydown = 0x004; rc5_gpio = 1; break; + case SAA7134_BOARD_ASUSTeK_PS3_100: + ir_codes = ir_codes_asus_ps3_100_table; + mask_keydown = 0x004; + rc5_gpio = 1; + break; case SAA7134_BOARD_ENCORE_ENLTV: case SAA7134_BOARD_ENCORE_ENLTV_FM: ir_codes = ir_codes_encore_enltv_table; --- ./drivers/media/video/saa7134/saa7134-dvb.c.orig 2011-06-11 21:08:41.0 +0200 +++ ./drivers/media/video/saa7134/saa7134-dvb.c 2011-07-18 23:53:17.293797824 +0200 @@ -824,6 +824,20 @@ static struct tda1004x_config asus_tiger .request_firmware = philips_tda1004x_request_firmware }; +static struct tda1004x_config asus_ps3_100_config = { + .demod_address = 0x0b, + .invert= 1, + .invert_oclk = 0, +