I recently bought a Kworld 435Q ATSC USB tuner.  After plugging it in with my 
kernel 2.6.26, no drivers attached.  I cracked open the case, and saw 
"ATSC_340U Ver:B" on the PCB.  I then googled the USB ID (1b80:a340), and ran 
across this listing.  I downloaded the latest em28xx-new driver from the v4l 
website, and applied this patch.  I was able to build and insmod this driver 
without any problems.

- Dmesg after loading drivers (I have an HD5500 and HVR1800 HD capture card 
installed at the time of this insmod):

[ 2702.094809] cx25843.c: detecting cx25843 client on address 0x88
[ 2702.094859] cx25843.c: starting probe for adapter ivtv i2c driver #0 
(0x10020)
[ 2702.094879] cx25843.c: starting probe for adapter ivtv i2c driver #1 
(0x10020)
[ 2702.094894] cx25843.c: starting probe for adapter cx23885[0] (0x10022)
[ 2702.095046] cx25843.c: starting probe for adapter cx23885[0] (0x10022)
[ 2702.095201] cx25843.c: starting probe for adapter cx23885[0] (0x10022)
[ 2702.095214] cx25843.c: starting probe for adapter cx88[0] (0x1001b)
[ 2702.274369] em28xx v4l2 driver version 0.0.1 loaded
[ 2702.274369] usbcore: registered new interface driver em28xx
[ 2702.315868] initializing Empia Audio Driver
[ 2702.315868] Copyright (C) 2008 Empia Technology Inc
[ 2702.315868] Copyright (C) 2008 Sundtek Ltd.
[ 2702.355579] usbcore: registered new interface driver em28xx-audioep


After attaching the device I got the following:

- Dmesg after plugging in Kworld 435Q:

[ 2980.447641] usb 7-2: new high speed USB device using ehci_hcd and address 4
[ 2980.673444] usb 7-2: configuration #1 chosen from 1 choice
[ 2980.673444] em28xx: new video device (1b80:a340): interface 0, class 255
[ 2980.673444] em28xx: device is attached to a USB 2.0 bus
[ 2980.673444] em28xx #0: Alternate settings: 8
[ 2980.673444] em28xx #0: Alternate setting 0, max size= 0
[ 2980.673444] em28xx #0: Alternate setting 1, max size= 0
[ 2980.673444] em28xx #0: Alternate setting 2, max size= 1448
[ 2980.673444] em28xx #0: Alternate setting 3, max size= 2048
[ 2980.673444] em28xx #0: Alternate setting 4, max size= 2304
[ 2980.673444] em28xx #0: Alternate setting 5, max size= 2580
[ 2980.673444] em28xx #0: Alternate setting 6, max size= 2892
[ 2980.673444] em28xx #0: Alternate setting 7, max size= 3072
[ 2980.957070] Chip ID is not zero. It is not a TEA5767
[ 2980.957070] tuner' 7-0060: chip found @ 0xc0 (em28xx #0)
[ 2980.957070] attach_inform: (default): detected I2C address c0
[ 2980.957070] simple_tuner_attach: invalid tuner type: 10004 (max: 76)
[ 2980.964288] cx25843.c: starting probe for adapter em28xx #0 (0x1001f)
[ 2980.964288] em2880-dvb.c: DVB Init
[ 2981.072455] tda18271 7-0060: creating new instance
[ 2981.076456] TDA18271HD/C2 detected @ 7-0060
[ 2981.382468] DVB: registering new adapter (em2880 DVB-T)
[ 2981.382484] DVB: registering frontend 2 (LG 3304)...
[ 2981.382973] em28xx #0: Found KWorld ATSC 340U
[ 2981.382973] usb 7-2: New USB device found, idVendor=1b80, idProduct=a340
[ 2981.382973] usb 7-2: New USB device strings: Mfr=0, Product=1, SerialNumber=0
[ 2981.382973] usb 7-2: Product: USB 2870 Device

At this point, the blue LED is light on the device, and there is a 
/dev/dvb/adapterX directory created.

Here, I try to use the atscpackets utility that I got from the hd5500 website 
(http://www.pchdtv.com/downloads/dvb-atsc-tools-1.0.7.tgz)  Essentially, it 
opens the device, and tries to parse ATSC packets from the stream.  This 
utility apparently doesn't see any ATSC packets from this device.  I tried some 
of the other utilities (dtvsnr and dtvsignal) with no luck either.

I then unplugged the device from the USB port, and got the following kernel 
oops:

[ 3864.450811] usb 7-2: USB disconnect, address 4
[ 3864.450811] audio: deinitializing audio device
[ 3864.450811] BUG: unable to handle kernel NULL pointer dereference at 
0000000000000000
[ 3864.450811] IP: [<ffffffffa064502f>] :em28xx_aad:em28xx_aad_fini+0x16/0x96
[ 3864.450811] PGD 198c6d067 PUD 16103b067 PMD 0
[ 3864.450811] Oops: 0000 [1] SMP
[ 3864.450811] CPU 1
[ 3864.450811] Modules linked in: videobuf_vmalloc tea5767 em28xx_audioep 
em28xx_dvb em28xx_aad em28xx_audio em28xx tuner_xc5000 tuner_xc3028 
em28xx_cx25843 zl10353 mt352 lgdt3304 tvp5150 drx3973d qt1010 mt2060 nfsd 
auth_rpcgss exportfs ppdev parport_pc lp parport ac battery acpi_cpufreq 
cpufreq_stats cpufreq_userspace cpufreq_conservative cpufreq_powersave 
cpufreq_ondemand freq_table nfs lockd nfs_acl sunrpc ipv6 ntfs nls_base xfs 
coretemp loop lgdt330x cx88_dvb cx88_vp3054_i2c mt2131 s5h1409 tda18271 tda9887 
tda8290 snd_hda_intel tuner_simple tuner_types snd_seq_dummy snd_seq_oss wm8775 
snd_seq_midi snd_rawmidi cx25840 cx88_alsa snd_pcm_oss snd_mixer_oss 
snd_seq_midi_event tuner snd_pcm snd_seq cx8800 snd_timer snd_seq_device cx8802 
cx88xx ir_common cx23885 ivtv serio_raw i2c_i801 firmware_class i2c_algo_bit 
iTCO_wdt snd pcspkr cx2341x videobuf_dvb dvb_core pl2303 usbserial psmouse 
compat_ioctl32 videodev v4l2_common videobuf_dma_sg btcx_risc
 videobuf_core v4l1_compat tveeprom i2c_core soundcore snd_page_alloc e1000e 
button intel_agp evdev ext3 jbd mbcache sd_mod ata_piix pata_marvell 
ata_generic libata scsi_mod dock ohci1394 ieee1394 ide_pci_generic ide_core 
ehci_hcd uhci_hcd thermal processor fan thermal_sys
[ 3864.450811] Pid: 155, comm: khubd Not tainted 2.6.26-1-amd64 #1
[ 3864.450811] RIP: 0010:[<ffffffffa064502f>]  [<ffffffffa064502f>] 
:em28xx_aad:em28xx_aad_fini+0x16/0x96
[ 3864.450811] RSP: 0018:ffff81019a811d10  EFLAGS: 00010282
[ 3864.450811] RAX: 00000000fffffffe RBX: 0000000000000000 RCX: 000000000000f13b
[ 3864.450811] RDX: 000000000000f13b RSI: 0000000000000046 RDI: ffff8101998c8000
[ 3864.450811] RBP: ffff8101998c8000 R08: ffffffffa05f3ae0 R09: ffffffff8066d280
[ 3864.450811] R10: 0000000000000000 R11: 0000010200000044 R12: ffff8101998c8000
[ 3864.450811] R13: ffffffffa05f3ae0 R14: 0000000000000000 R15: ffff8101989eb800
[ 3864.450811] FS:  0000000000000000(0000) GS:ffff81019b0828c0(0000) 
knlGS:0000000000000000
[ 3864.450811] CS:  0010 DS: 0018 ES: 0018 CR0: 000000008005003b
[ 3864.450811] CR2: 0000000000000000 CR3: 000000016103c000 CR4: 00000000000006e0
[ 3864.450811] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[ 3864.450811] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
[ 3864.450811] Process khubd (pid: 155, threadinfo ffff81019a810000, task 
ffff81019b3fefe0)
[ 3864.450811] Stack:  ffff8101998c8000 ffffffffa0646200 ffff81015a8c5c00 
ffffffffa05d8423
[ 3864.450811]  ffff810195d10000 ffff81015a8c5c30 ffff810195d10000 
ffffffff803929b0
[ 3864.450811]  ffff81015a8c5c30 ffffffffa05f3b48 ffff81015a8c5d90 
ffff8101989ebc48
[ 3864.450811] Call Trace:
[ 3864.450811]  [<ffffffffa05d8423>] ? :em28xx:em28xx_usb_disconnect+0x69/0x16c
[ 3864.450811]  [<ffffffff803929b0>] ? usb_unbind_interface+0x59/0xa6
[ 3864.450811]  [<ffffffff80384a18>] ? __device_release_driver+0x74/0x97
[ 3864.450811]  [<ffffffff80384a5c>] ? device_release_driver+0x21/0x2d
[ 3864.450811]  [<ffffffff80383f49>] ? bus_remove_device+0x8d/0xa1
[ 3864.450811]  [<ffffffff80382c55>] ? device_del+0xf8/0x15d
[ 3864.450811]  [<ffffffff8039014f>] ? usb_disable_device+0x6f/0xe8
[ 3864.450811]  [<ffffffff8038c015>] ? usb_disconnect+0x92/0x142
[ 3864.450811]  [<ffffffff8038d24f>] ? hub_thread+0x3f9/0xcfd
[ 3864.450811]  [<ffffffff80246021>] ? autoremove_wake_function+0x0/0x2e
[ 3864.450811]  [<ffffffff8038ce56>] ? hub_thread+0x0/0xcfd
[ 3864.450811]  [<ffffffff80245efb>] ? kthread+0x47/0x74
[ 3864.450811]  [<ffffffff80230057>] ? schedule_tail+0x27/0x5c
[ 3864.450811]  [<ffffffff8020cef8>] ? child_rip+0xa/0x12
[ 3864.450811]  [<ffffffff80245eb4>] ? kthread+0x0/0x74
[ 3864.450811]  [<ffffffff8020ceee>] ? child_rip+0x0/0x12
[ 3864.450811]
[ 3864.450811]
[ 3864.450811] Code: 48 89 fb 48 8b 78 18 e8 09 16 c5 df 48 8b 3b 5b e9 00 16 
c5 df 41 54 b8 fe ff ff ff 49 89 fc 53 48 83 ec 08 48 8b 9f d8 0f 00 00 <8b> 0b 
d3 c0 48 98 48 21 05 c4 25 00 00 8b 73 40 48 8b 7b 48 c1
[ 3864.450811] RIP  [<ffffffffa064502f>] :em28xx_aad:em28xx_aad_fini+0x16/0x96
[ 3864.450811]  RSP <ffff81019a811d10>
[ 3864.450811] CR2: 0000000000000000
[ 3864.451618] ---[ end trace 6cc0d802ec52110a ]---

  According to this post 
(http://www.mail-archive.com/em28xx@mcentral.de/msg01398.html), they have the 
same silicon on them, so I was hoping this patch might just work.




      

_______________________________________________
Em28xx mailing list
Em28xx@mcentral.de
http://mcentral.de/mailman/listinfo/em28xx

Reply via email to