In attachment you can find the new patch and the relevant OpenEmbedded files (the kernel recipe, config etc..).
Basically, I applied the old patch to the new kernel and then I followed the instructions in this post:
http://www.kernellab...78#comment-2317
So I changed change usb_buffer_alloc() to usb_alloc_coherent() and usb_buffer_free to usb_free_coherent() to support the new kernel API names.
Moreover, I added the USB VID/PID to support the as102 device from nBox (as explained in the forum post).
The driver compiles fine, but unfortunately it crashes the kernel when the as102 is connected to the USB port:
dmesg
DVB: registering new adapter (dvb0) DVB: registering adapter 0 frontend 0 (DVB-S2)... DVB: registering adapter 0 frontend 1 (DVB-S2)... input: front panel as /devices/virtual/input/input1 as10x_usb: device has been detected DVB: registering new adapter (Super Digi KEY) DVB: registering adapter 1 frontend 0 (Super Digi KEY)... as10x_usb: fimrware: as102_data1_st.hex loaded with success as10x_usb: fimrware: as102_data2_st.hex loaded with success usbcore: registered new interface driver Abilis Systems as10x usb driver usbcore: registered new interface driver usbserial USB Serial support registered for generic usbcore: registered new interface driver usbserial_generic usbserial: USB Serial Driver core USB Serial support registered for FTDI USB Serial Device ftdi_sio 3-1:1.0: FTDI USB Serial Device converter detected usb 3-1: Detected FT232BM usb 3-1: Number of endpoints 2 usb 3-1: Endpoint 1 MaxPacketSize 64 usb 3-1: Endpoint 2 MaxPacketSize 64 usb 3-1: Setting MaxPacketSize 64 ftdi_sio ttyUSB0: Unable to read latency timer: -32 usb 3-1: FTDI USB Serial Device converter now attached to ttyUSB0 usbcore: registered new interface driver ftdi_sio ftdi_sio: v1.6.0:USB FTDI Serial Converters Driver NET: Registered protocol family 10 svc: failed to register lockdv1 RPC service (errno 124). Installing knfsd (copyright (C) 1996 okir@monad.swb.de). DVB: registering adapter 0 frontend 2 (vtuner)... CPU 0 Unable to handle kernel paging request at virtual address 007b9900, epc == 80010cc4, ra == 8039d108 Oops[#1]: Cpu 0 $ 0 : 00000000 10008701 00000200 80010cb0 $ 4 : cfc7de88 007b9900 00000000 00000200 $ 8 : 00000000 00000005 800d58a4 fffffff8 $12 : cd44c01c cd44c100 00000080 00410000 $16 : ce7ced00 cfeb0c00 00000002 00000000 $20 : e148f000 8064aa60 ce7ced08 00000189 $24 : 0041240c 2b6866bc $28 : cdcc2000 cdcc3bc0 7faec910 8039d108 Hi : 00000000 Lo : 00000000 epc : 80010cc4 mips_dma_map_page+0x14/0x108 Tainted: PF ra : 8039d108 usb_hcd_map_urb_for_dma+0x338/0x4a8 Status: 10008703 KERNEL EXL IE Cause : 00800008 BadVA : 007b9900 PrId : 0002a044 (Brcm4380) Modules linked in: nfsd ipv6 ftdi_sio usbserial exportfs dvb_as102 dvb(F) modloader2(P) modloader(P) tpm Process usbtunerhelper (pid: 395, threadinfo=cdcc2000, task=cf111b48, tls=2b569820) Stack : 00000041 00010a78 00000009 8008a0a8 ce7ced00 cfeb0c00 00000002 8039d108 00000041 fffffbff 80679980 10008700 00000002 00000000 8140a30c 8064ad48 ce7ced00 ce7ced00 cfe8b800 cfeb0c00 00000020 e148f000 8064aa60 ce7ced08 00000189 8039d540 00000178 cde8f100 80679f80 00000000 00000000 80679f84 00000000 00000000 000000d0 000200d0 cfc03aa4 8008a2a0 000200d0 cfe8b800 ... Call Trace: [<80010cc4>] mips_dma_map_page+0x14/0x108 [<8039d108>] usb_hcd_map_urb_for_dma+0x338/0x4a8 [<8039d540>] usb_hcd_submit_urb+0x2c8/0x8cc [<e13655d8>] as102_submit_urb_stream+0x64/0xc8 [dvb_as102] [<e1365680>] as102_usb_start_stream+0x44/0x80 [dvb_as102] [<e1363628>] as102_dvb_dmx_start_feed+0xb4/0x17c [dvb_as102] [<803e20f4>] dmx_ts_feed_start_filtering+0x5c/0x134 [<803de454>] dvb_dmxdev_start_feed+0xd4/0x158 [<803dff28>] dvb_dmxdev_filter_start+0x2b8/0x448 [<803e07ac>] dvb_demux_do_ioctl+0x2a0/0x654 [<803ddc8c>] dvb_usercopy+0x124/0x204 [<800d5284>] do_vfs_ioctl+0xa0/0x6c0 [<800d58e8>] sys_ioctl+0x44/0xa8 [<8000ecfc>] stack_done+0x20/0x40 Code: afb00010 afbf001c afb20018 <8ca30000> 3c02806d 00031e42 000318c0 244280c0 00431021
I observed similar crashes with the old driver in kernel 2.6.18, but for some reason with kernel 2.6.31 the driver was at least loading properly (not all the times). Anyway, even with 2.6.31, the as102 stick could not find any channel with both manual and automatic scan.
That's strange, since this driver is reported to work on kernel 3 (in the above post) and I also installed it with success in my Ubuntu 10.04 PC (with kernel 2.6.32).
I looked for more updated versions but the original author is not maintaining it any more. The only alternative version is this one:
http://www.kernellab...78#comment-1588
but the changes are only relevant to old kernels (<= 2.6.19).