Superb quality and spec AB-Com PULSe 4K SE. Crazy offer! Only £99! FREE UK DELIVERY! 4K UHD, Enigma 2, Multiboot 4 images & more!...
Superb quality and spec AB-Com PULSe 4K Rev II Twin Satellite tuner only £149! FREE UK DELIVERY! 4K UHD, Enigma 2, SATA HDD facility, Multiboot 4 images & more!...

[VU+ Duo2] Duo2 Support for AF9035?

stick50jr

ViX Beta Tester ,
Joined
Sep 18, 2010
Messages
708
Reaction score
4
Points
18
Location
AUSTRALIA
I have an Avermedia Twinstar (AF9035) dual dvb-t tuner which works well on Duo but is not supported on Duo2.

In the file \var\volatile\log\messages the duo2 reports that the tuner is not supported:

Code:
Sep 28 01:30:49 vuduo2 user.warn kernel: af9035: tuner ID:10 not supported, please report!
Sep 28 01:30:49 vuduo2 user.info kernel: usbcore: registered new interface driver dvb_usb_af9035

With the same file the duo reports more extensively:
Code:
Jan  1 09:30:40 vuduo user.info kernel: dvb-usb: found a 'Avermedia TwinStar' in cold state, will try to load a firmware
Jan  1 09:30:40 vuduo user.info kernel: dvb-usb: downloading firmware from file 'dvb-usb-af9035-01.fw'
Jan  1 09:30:40 vuduo user.info kernel: dvb-usb: found a 'Avermedia TwinStar' in warm state.
Jan  1 09:30:40 vuduo user.info kernel: dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
Jan  1 09:30:40 vuduo user.info kernel: DVB: registering new adapter (Avermedia TwinStar)
Jan  1 09:30:40 vuduo user.info kernel: af9033: firmware version: LINK:11.15.10.0 OFDM:5.48.10.0
Jan  1 09:30:40 vuduo user.warn kernel: DVB: registering adapter 1 frontend 0 (Afatech AF9033 DVB-T)...
Jan  1 09:30:40 vuduo user.info kernel: mxl5007t 0-00c0: creating new instance
Jan  1 09:30:40 vuduo user.warn kernel: mxl5007t_get_chip_id: unknown rev (3f)
Jan  1 09:30:40 vuduo user.info kernel: mxl5007t_get_chip_id: MxL5007T detected @ 0-00c0
Jan  1 09:30:40 vuduo user.info kernel: dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
Jan  1 09:30:40 vuduo user.info kernel: DVB: registering new adapter (Avermedia TwinStar)
Jan  1 09:30:40 vuduo user.info kernel: af9033: firmware version: LINK:11.15.10.0 OFDM:5.48.10.0
Jan  1 09:30:40 vuduo user.warn kernel: DVB: registering adapter 2 frontend 0 (Afatech AF9033 DVB-T)...
Jan  1 09:30:40 vuduo user.info kernel: mxl5007t 0-00c1: creating new instance
Jan  1 09:30:40 vuduo user.warn kernel: mxl5007t_get_chip_id: unknown rev (3f)
Jan  1 09:30:40 vuduo user.info kernel: mxl5007t_get_chip_id: MxL5007T detected @ 0-00c1
Jan  1 09:30:40 vuduo user.info kernel: dvb-usb: Avermedia TwinStar successfully initialized and connected.
Jan  1 09:30:40 vuduo user.info kernel: usbcore: registered new interface driver dvb_usb_af9035

Does this mean that the Duo2 kernel is lacking or could it be a problem in the plugin package for AF9035? As it says "please report", I've posted these messages to VuPlus querying whether it is in their kernel.

Regards
 
I have an Avermedia Twinstar (AF9035) dual dvb-t tuner which works well on Duo but is not supported on Duo2.

In the file \var\volatile\log\messages the duo2 reports that the tuner is not supported:

Code:
Sep 28 01:30:49 vuduo2 user.warn kernel: af9035: tuner ID:10 not supported, please report!
Sep 28 01:30:49 vuduo2 user.info kernel: usbcore: registered new interface driver dvb_usb_af9035

....

Does this mean that the Duo2 kernel is lacking or could it be a problem in the plugin package for AF9035? As it says "please report", I've posted these messages to VuPlus querying whether it is in their kernel.

Regards

The following source code was viewed at http://git.linuxtv.org/anttip/media...55720e4323a8f04d1e1122bb694293:/drivers/media

Snipped from af9035.c:
Code:
666                 ret = af9035_rd_reg(d, addr + EEPROM_1_TUNER_ID, &tmp);
667                 if (ret < 0)
668                         goto err;
669
670                 if (tmp == 0x00)
671                         dev_dbg(&d->udev->dev,
672                                         "%s: [%d]tuner not set, using default\n",
673                                         __func__, i);
674                 else
675                         state->af9033_config[i].tuner = tmp;
676
677                 dev_dbg(&d->udev->dev, "%s: [%d]tuner=%02x\n",
678                                 __func__, i, state->af9033_config[i].tuner);
679
680                 switch (state->af9033_config[i].tuner) {
681                 case AF9033_TUNER_TUA9001:
682                 case AF9033_TUNER_FC0011:
683                 case AF9033_TUNER_MXL5007T:
684                 case AF9033_TUNER_TDA18218:
685                 case AF9033_TUNER_FC2580:
686                 case AF9033_TUNER_FC0012:
687                         state->af9033_config[i].spec_inv = 1;
688                         break;
689                 case AF9033_TUNER_IT9135_38:
690                 case AF9033_TUNER_IT9135_51:
691                 case AF9033_TUNER_IT9135_52:
692                 case AF9033_TUNER_IT9135_60:
693                 case AF9033_TUNER_IT9135_61:
694                 case AF9033_TUNER_IT9135_62:
695                         break;
696                 default:
697                         dev_warn(&d->udev->dev,
698                                         "%s: tuner id=%02x not supported, please report!",
699                                         KBUILD_MODNAME, tmp);
700                 }

Snipped from af9033.h:
Code:
47         /*
48          * tuner
49          */
50 #define AF9033_TUNER_TUA9001     0x27 /* Infineon TUA 9001 */
51 #define AF9033_TUNER_FC0011      0x28 /* Fitipower FC0011 */
52 #define AF9033_TUNER_FC0012      0x2e /* Fitipower FC0012 */
53 #define AF9033_TUNER_MXL5007T    0xa0 /* MaxLinear MxL5007T */
54 #define AF9033_TUNER_TDA18218    0xa1 /* NXP TDA 18218HN */
55 #define AF9033_TUNER_FC2580      0x32 /* FCI FC2580 */
56 /* 50-5f Omega */
57 #define AF9033_TUNER_IT9135_38   0x38 /* Omega */
58 #define AF9033_TUNER_IT9135_51   0x51 /* Omega LNA config 1 */
59 #define AF9033_TUNER_IT9135_52   0x52 /* Omega LNA config 2 */
60 /* 60-6f Omega v2 */
61 #define AF9033_TUNER_IT9135_60   0x60 /* Omega v2 */
62 #define AF9033_TUNER_IT9135_61   0x61 /* Omega v2 LNA config 1 */
63 #define AF9033_TUNER_IT9135_62   0x62 /* Omega v2 LNA config 2 */
64         u8 tuner;

So it seems that the message originated from the module dvb-usb-af9035. The Avermedia Twinstar uses the mxl5007t tuner type which from the AF9033.h file should have an ID of 0xa0 (not 10). The value returned should have matched this tuner type and the 'switch' statement should not have fallen through to the 'unsupported' warning message.

This code starts at line '666', that's the devil of it
eek1.gif


I would like to know how to rebuild the kernel modules for the af9035 because it looks like the error may be in this area if it is as simple as a decimal / hexadecimal mix-up.

I guess I'm rather out of my depth here. Can I rebuild these modules or do I need some PC Linux development environment (I don't even have a Linux PC)?

Any help would be appreciated.
 
Last edited:
From Andy:
'10 = 0xA'
'0xa0 = 160'

The hardware give out the ID, the driver does not know about ID 10
Also we do not use V4L: all drivers are embedded into kernel
 
Last edited:
can i have access to your box ?
 
can i have access to your box ?

Thanks for the offer Andy, ... its almost 6.00am and I need to go to bed :zoom:

I guess I'd have to do something clever with my network to give you access? I'm using my mobile phone as an AP and the built in WLAN of the Duo2... Rob's signature tells me my IP is 1.125.255.251 at the moment. But with the Samsung Galaxy S4 as the AP, I'm not sure how I can make the Duo2 visible to you.

I need to sleep. I'll catch you up later.
 
From Andy:
'10 = 0xA'
'0xa0 = 160'

The hardware give out the ID, the driver does not know about ID 10
Also we do not use V4L: all drivers are embedded into kernel

Yep, the 0xa0 would need to be shifted right by 4 bits or something. The embedded kernel thing I don't really understand.
Off to bed!
 
FYI:

I loaded up BH206 on my Duo2 and it recognised the additional usb tuners straight off. Below are some shots of the LCD display and screen shots. From these you can see that it recognises tuners ABCDEFG on the LCD. On the Configure Tuner screens, you can see that it lists the individual tuners of the two x dual usb devices. On the last screen, I was able to record 5 separate dvb-t transponders simultaneously.

The default BH skin doesn't cater for the increased number of tuners very well and there seems to be a bug or two which may be related to having so many tuners (when recording all four vtuners, it fails to play back any files...).

BH206 Tuners7.webpBH206 Tuners7 a.webpBH206 Tuners7 b.webpBH206 Transponders5.webp

As Rob has pointed out, our drivers are not the same as the vuplus and BH system. So all the above does is demonstrate that my hardware is okay. I think it also tells me that my Vix problems are with the AF9035 drivers (which work well with Duo but not Duo2).

If I can help resolve this, let me know. Unfortunately, I can't see how to give access via my Samsung phone AP. When I get a proper address/house, I'll get an ADSL connection and a proper modem/router which will allow this type of thing. But for now I'm limited to the 3G connection.

cheers
 
Request for information

REQUEST FOR INFO:

Is there anyone who has got the AF9035 drivers to work on kernel 3.3.8-2.0 images (ie Vu+Duo2 or Vu+Solo2) on OpenVix images (or other OpenPLi based images)? I suspect these drivers need modification to work correctly?

I can't get my AF9035 usb dvb-t (Avermedia Twinstar A825) to work with the Vu+Duo2/OpenVix even though the version of drivers for 3.1.1 (Vu+Duo etc) work well on Vix (currently build 750).

These devices work well on BlackHole 2.0.6c (and other images based on OEM image) but those drivers use a different scheme (Video4Linux Version2 aka V4L2) and are not readily compatible with OpenPLi based images.
 
drivers for USB DVB are down to kernel's and if we can find patches. i have ask Vu for help on more USB DVB support, but waiting for a reply.
 
Andy,

Thanks for your reply.

Does Vix build the drivers from source code? I note that there is source code in linux kernel 3.5.1 and later that supports Af9035? https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.5.1.tar.xz
I've got no idea how this could work within earlier (ie 3.3.8) kernels and whether it would still require Vu patches? I'm not sure how the drivers that work in 3.1.1 (Duo) were created?

regards
 
Last edited:
Andy,

Thanks for your reply.

Does Vix build the drivers from source code? I note that there is source code in linux kernel 3.5.1 and later that supports Af9035? https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.5.1.tar.xz
I've got no idea how this could work within earlier (ie 3.3.8) kernels and whether it would still require Vu patches? I'm not sure how the drivers that work in 3.1.1 (Duo) were created?

regards

kernel's and linux are provide to the manufacture (VuPlus) by Broadcom, irc they are not standard linux code used in ARM or i386.
they have all sorts of patches for the chipsets.

to get newer driver (from the linux source) to work in older linux, you have to do what is called BACKPORT the code. but this is not always possible as it depends on what code the drivers uses, ie if it uses code that is only in higher version, then thats has to be back-ported as well, and the circle continues.
 
Thanks again Andy for your response.

I note that the af9035 drivers in the duo2 and solo2 feeds have been patched(?) to contain the 3.3.8-2.0 'version magic'. I know that they don't work for me, but whoever 'patched' these with the '3.3.8-2.0' and then included them into the feeds might advise whether they work with other usb sticks (ie other than mine).

I wonder what would happen if I 'forced' the installation of the duo files... would wrong version magic stop it even trying to work?

Wishful thinking probably!
 
Thanks again Andy for your response.

I note that the af9035 drivers in the duo2 and solo2 feeds have been patched(?) to contain the 3.3.8-2.0 'version magic'. I know that they don't work for me, but whoever 'patched' these with the '3.3.8-2.0' and then included them into the feeds might advise whether they work with other usb sticks (ie other than mine).

I wonder what would happen if I 'forced' the installation of the duo files... would wrong version magic stop it even trying to work?

Wishful thinking probably!

i created the patch files for duo2/solo2, from a patches that where made for the ET's for linux 3.8 i backported it to work on 3.3.8. if you can find me the source code a working version i could try create new patch from that.
 
i created the patch files for duo2/solo2, from a patches that where made for the ET's for linux 3.8 i backported it to work on 3.3.8.
You say that you 'backported it to work on 3.3.8', does anyone have a confirmed working AF9035 device on these Vu boxes?

if you can find me the source code a working version i could try create new patch from that.
There is full source code included in the kernel packages at https://www.kernel.org/pub/linux/kernel/v3.x. From kernel v3.5 onwards there is support for AF9035 (with full sources included) in every kernel version from then onwards.

For example, if you download v3.8.7 of the linux kernel from this link, it contains sources for all supported drivers at 3.8.7 including the AF9035 devices, and this version should match the ETs kernel. I imagine these are 'working versions' as they are included in these public linux kernel sources... but I can't personally confirm this as I don't have a compiled version nor do I have an ET STB. Presumably this should produce the binaries that you have for the ETs?

If you can do something with these sources and actually backport it to v3.3.8 that would be fantastic :thumbsup:.

I imagine Vu+ wouldn't be very helpful with any patches because they continue to use the V4L2 system...

'Backporting' and 'patching' sounds very daunting to me and I imagine this could be very 'nitty gritty' low level programming with potentially problems caused by Vu+ omissions from the standard kernel support. However, the fact that some of the other flavours of usb dvb (eg dib0700 etc) work very well presumably means that Vu+ have provided sufficient in their dvb modules to support all usb dvb devices. (My ignorance of the building of drivers means that I probably don't appreciate the extent of difficulties.)
 

OpenViX Feeds Status

Back
Top