# Freecom DVB-T USB - driver not recognising ?new product ID?

## PCanavan

I'm trying to get a Freecom DVB-T USB to work. From checking on linuxtv, I believe that this should be supported by the dvb_usb_dtt200u kernel driver (http://www.linuxtv.org/wiki/index.php/DVB_USB#WideView.2FYakumo.2FHama.2FTyphoon.2FYuan_Boxes_and_Pens).Currently, however, I'm not having much luck.

The kernel detects the USB device, writing to the system log:

eg:

```
Mar 19 23:59:36 ninja usb 1-2: new high speed USB device using ehci_hcd and address 15
```

It is then correctly identified by lsusb:

```
Bus 001 Device 015: ID 14aa:022a AVerMedia (again) or C&E
```

However, neither /dev/dvb/* nor /dev/dvb* appear, and there are no driver-specific entries in the system log (other people with this hardware seem to have these, from posts I've seen whilst searching for a fix). The "new high speed USB device" entry appears, and nothing else. If the dvb_usb_dtt200u module is not loaded manually, the kernel does not auto-load it. If it is manually loaded then there is no change in behaviour, except that it appears in the lsmod output. I'm able to use a USB flash drive ('key') and iPod without issue (these were not plugged in whilst trying to get the Freecom unit to work).

I'm fairly sure that this is not a problem with host hardware, since:

a) My main host works with other USB hardware OK

b) I've seen identical symptoms on two quite different boxes (one is my normal system, one I've just purpose-built to run Myth with this tuner - details below).

Although this is the only high-speed USB (ie true USB2) device I've got, I've tried plugging it in via a full-speed (ie fast USB 1) hub and just got:

```

Mar 20 20:46:00 ninja usb 3-1.1: new full speed USB device using uhci_hcd and address 4

Mar 20 20:46:00 ninja usb 3-1.1: device descriptor read/64, error -71

Mar 20 20:46:00 ninja usb 3-1.1: device descriptor read/64, error -71

Mar 20 20:46:00 ninja usb 3-1.1: new full speed USB device using uhci_hcd and address 5

Mar 20 20:46:01 ninja usb 3-1.1: not running at top speed; connect to a high speed hub

```

I've now swapped the original unit for a replacement, with no change in symptoms. I've also managed to get the replacement unit running under Windows XP SP2 with the supplied driver CD. As a result, I'm hoping I can rule out host hardware, Linux USB2 drivers, and the DVB device itself (unless it's a very well-hidden new version with weirdly incompatible hardware). There are no version markings on the device, but it was made in Feb 2006 in Taiwan (Art No 25452). I've dumped everything I could think of below; if there's anything else of use then just let me know. Having done battle with the new Asus mobo and seemingly won I'm damned if I'm going to give in to this!

Ideas?

PS: Also posted at http://www.linuxquestions.org/questions/showthread.php?t=426396 yesterday, but thought I might get a better response here.

Problem seen on:

1) AthlonXP 2800+, ASUS A7V-600-X mobo (VIA KT600 chipset), Gentoo x86

```
ninja linux # uname -a

Linux ninja 2.6.15-gentoo-r1 #2 PREEMPT Sat Mar 4 14:21:41 GMT 2006 i686 AMD Athlon(TM) XP 2800+ AuthenticAMD GNU/Linux

```

```
ninja linux # lspci

00:00.0 Host bridge: VIA Technologies, Inc. VT8377 [KT400/KT600 AGP] Host Bridge (rev 80)

00:01.0 PCI bridge: VIA Technologies, Inc. VT8237 PCI Bridge

00:0a.0 Multimedia video controller: Brooktree Corporation Bt878 Video Capture (rev 02)

00:0a.1 Multimedia controller: Brooktree Corporation Bt878 Audio Capture (rev 02)

00:0e.0 FireWire (IEEE 1394): VIA Technologies, Inc. IEEE 1394 Host Controller (rev 46)

00:0f.0 RAID bus controller: VIA Technologies, Inc. VIA VT6420 SATA RAID Controller (rev 80)

00:0f.1 IDE interface: VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (rev 06)

00:10.0 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81)

00:10.1 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81)

00:10.2 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81)

00:10.3 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81)

00:10.4 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 86)

00:11.0 ISA bridge: VIA Technologies, Inc. VT8237 ISA bridge [KT600/K8T800/K8T890 South]

00:11.5 Multimedia audio controller: VIA Technologies, Inc. VT8233/A/8235/8237 AC97 Audio Controller (rev 60)

00:12.0 Ethernet controller: VIA Technologies, Inc. VT6102 [Rhine-II] (rev 78)

00:13.0 SCSI storage controller: LSI Logic / Symbios Logic 53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI (rev 08)

00:13.1 SCSI storage controller: LSI Logic / Symbios Logic 53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI (rev 08)

01:00.0 VGA compatible controller: nVidia Corporation NV20 [GeForce3] (rev a3)

```

```
ninja linux # lsscsi

[0:0:0:0]    disk    ATA      WDC WD2500SD-01K 08.0  /dev/sda

[2:0:2:0]    cd/dvd  PLEXTOR  CD-ROM PX-40TS   1.00  /dev/sr0

[2:0:3:0]    cd/dvd  PLEXTOR  CD-R   PX-W1210S 1.04  /dev/sr1

[2:0:5:0]    cd/dvd  PIONEER  DVD-ROM DVD-303  1.10  /dev/sr2

[2:0:6:0]    process EPSON    Perfection1200   1.03  -

[3:0:1:0]    tape    HP       C5683A           C004  /dev/st0

[3:0:4:0]    disk    FUJITSU  MAP3735NP        5608  /dev/sdb

[3:0:9:0]    disk    FUJITSU  MAN3367MC        0109  /dev/sdc

[3:0:12:0]   disk    FUJITSU  MAN3367MC        0109  /dev/sdd

```

```
ninja linux # lsusb

Bus 005 Device 001: ID 0000:0000

Bus 004 Device 001: ID 0000:0000

Bus 003 Device 017: ID 0452:0051 Mitsubishi Electronics America, Inc. Integrated Hub

Bus 003 Device 016: ID 0452:0050 Mitsubishi Electronics America, Inc. Diamond Pro 900u CRT Monitor

Bus 003 Device 001: ID 0000:0000

Bus 002 Device 001: ID 0000:0000

Bus 001 Device 015: ID 14aa:022a AVerMedia (again) or C&E

Bus 001 Device 001: ID 0000:0000

```

After manually modprobe-ing the dvb_usb_dtt200u module:

```

ninja linux # lsmod

Module                  Size  Used by

usb_storage            29060  0

dvb_usb_dtt200u         7428  0

dvb_usb                13896  1 dvb_usb_dtt200u

dvb_core               66664  1 dvb_usb

dvb_pll                 8708  1 dvb_usb

snd_pcm_oss            41696  0

snd_mixer_oss          14144  2 snd_pcm_oss

snd_seq_oss            26752  0

snd_seq_midi_event      5568  1 snd_seq_oss

snd_seq                42128  4 snd_seq_oss,snd_seq_midi_event

analog                  8864  0

ns558                   4356  0

8250_pnp                8256  0

8250                   16916  1 8250_pnp

serial_core            15808  1 8250

generic                 3972  0 [permanent]

xfs                   481048  1

amdtp                   8972  0

eth1394                15496  0

cmp                     3072  1 amdtp

dv1394                 15884  0

raw1394                23276  0

video1394              15436  0

ohci1394               27444  3 amdtp,dv1394,video1394

sbp2                   19140  0

ieee1394               77944  8 amdtp,eth1394,cmp,dv1394,raw1394,video1394,ohci1394,sbp2

usbhid                 30752  0

tda9887                12752  0

tda9875                 6032  0

ir_kbd_gpio             8900  0

tuner                  35556  0

msp3400                26672  0

bttv                  143568  1 ir_kbd_gpio

firmware_class          7296  2 dvb_usb,bttv

i2c_algo_bit            7368  1 bttv

v4l2_common             4672  1 bttv

btcx_risc               3592  1 bttv

videodev                6784  1 bttv

tveeprom               12176  1 bttv

video_buf              15428  1 bttv

tvaudio                19548  0

ir_kbd_i2c              6092  0

ir_common               7748  2 ir_kbd_gpio,ir_kbd_i2c

tda7432                 6232  0

psmouse                29828  0

it87                   16804  0

hwmon_vid               1984  1 it87

floppy                 50628  0

aic7xxx               149524  0

ppdev                   6852  0

parport_pc             32452  1

lp                      8196  0

parport                28680  3 ppdev,parport_pc,lp

cdc_acm                 9824  0

uhci_hcd               26448  0

ehci_hcd               25032  0

usbcore                99012  8 usb_storage,dvb_usb_dtt200u,dvb_usb,usbhid,cdc_acm,uhci_hcd,ehci_hcd

via_rhine              17860  0

ide_cd                 32772  1

via82cxxx               7492  0 [permanent]

ide_core               97396  3 generic,ide_cd,via82cxxx

i2c_viapro              6612  0

i2c_isa                 3328  1 it87

eeprom                  5264  0

i2c_core               15184  15 dvb_usb,tda9887,tda9875,tuner,msp3400,bttv,i2c_algo_bit,tveeprom,tvaudio,ir_kbd_i2c,tda7432,it87,i2c_viapro,i2c_isa,eeprom

snd_cs46xx             73608  0

snd_bt87x              10760  0

snd_via82xx            20888  1

gameport               10632  5 analog,ns558,snd_cs46xx,snd_via82xx

snd_ac97_codec         78688  2 snd_cs46xx,snd_via82xx

snd_ac97_bus            1792  1 snd_ac97_codec

snd_pcm                69000  5 snd_pcm_oss,snd_cs46xx,snd_bt87x,snd_via82xx,snd_ac97_codec

snd_timer              18372  2 snd_seq,snd_pcm

snd_page_alloc          7496  4 snd_cs46xx,snd_bt87x,snd_via82xx,snd_pcm

snd_mpu401_uart         5312  1 snd_via82xx

snd_rawmidi            18208  2 snd_cs46xx,snd_mpu401_uart

snd_seq_device          6220  3 snd_seq_oss,snd_seq,snd_rawmidi

snd                    39780  13 snd_pcm_oss,snd_mixer_oss,snd_seq_oss,snd_seq,snd_cs46xx,snd_bt87x,snd_via82xx,snd_ac97_codec,snd_pcm,snd_timer,snd_mpu401_uart,snd_rawmidi,snd_seq_device

ntfs                   85168  5

nfsd                  199428  13

exportfs                4480  2 xfs,nfsd

cifs                  183892  0

nfs                   181316  0

lockd                  51976  3 nfsd,nfs

nfs_acl                 2624  2 nfsd,nfs

sunrpc                118204  11 nfsd,nfs,lockd,nfs_acl

nvidia               4083664  12

```

2) Athlon64 3200+, ASUS A8N-VM CSM (nForce 430) mobo, 0706 BIOS, Gentoo amd64

You may have heard complaints about this board - and they're at least fair with BIOS < 0706. Before flashing, USB didn't work at all. Testing with my main system seems to have eliminated the mobo as the problem, though.

```
ssmyth / # uname -a

Linux ssmyth 2.6.15-gentoo-r7 #4 SMP PREEMPT Sun Mar 19 13:53:44 GMT 2006 x86_64 AMD Athlon(tm) 64 Processor 3200+ AuthenticAMD GNU/Linux

```

```

ssmyth / # cat /proc/cmdline

root=/dev/sda5 acpi=off noapic

```

```
ssmyth / # lspci

00:00.0 RAM memory: nVidia Corporation C51 Host Bridge (rev a2)

00:00.1 RAM memory: nVidia Corporation C51 Memory Controller 0 (rev a2)

00:00.2 RAM memory: nVidia Corporation C51 Memory Controller 1 (rev a2)

00:00.3 RAM memory: nVidia Corporation C51 Memory Controller 5 (rev a2)

00:00.4 RAM memory: nVidia Corporation C51 Memory Controller 4 (rev a2)

00:00.5 RAM memory: nVidia Corporation C51 Host Bridge (rev a2)

00:00.6 RAM memory: nVidia Corporation C51 Memory Controller 3 (rev a2)

00:00.7 RAM memory: nVidia Corporation C51 Memory Controller 2 (rev a2)

00:02.0 PCI bridge: nVidia Corporation C51 PCI Express Bridge (rev a1)

00:03.0 PCI bridge: nVidia Corporation C51 PCI Express Bridge (rev a1)

00:04.0 PCI bridge: nVidia Corporation C51 PCI Express Bridge (rev a1)

00:05.0 VGA compatible controller: nVidia Corporation C51PV [GeForce 6150] (rev a2)

00:09.0 RAM memory: nVidia Corporation MCP51 Host Bridge (rev a2)

00:0a.0 ISA bridge: nVidia Corporation MCP51 LPC Bridge (rev a2)

00:0a.1 SMBus: nVidia Corporation MCP51 SMBus (rev a2)

00:0b.0 USB Controller: nVidia Corporation MCP51 USB Controller (rev a2)

00:0b.1 USB Controller: nVidia Corporation MCP51 USB Controller (rev a2)

00:0d.0 IDE interface: nVidia Corporation MCP51 IDE (rev a1)

00:0e.0 IDE interface: nVidia Corporation MCP51 Serial ATA Controller (rev a1)

00:0f.0 IDE interface: nVidia Corporation MCP51 Serial ATA Controller (rev a1)

00:10.0 PCI bridge: nVidia Corporation MCP51 PCI Bridge (rev a2)

00:10.1 Audio device: nVidia Corporation MCP51 High Definition Audio (rev a2)

00:14.0 Bridge: nVidia Corporation MCP51 Ethernet Controller (rev a1)

00:18.0 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] HyperTransport Technology Configuration

00:18.1 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Address Map

00:18.2 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] DRAM Controller

00:18.3 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Miscellaneous Control

04:05.0 FireWire (IEEE 1394): VIA Technologies, Inc. IEEE 1394 Host Controller (rev 80)

```

```

ssmyth / # lsusb

Bus 002 Device 001: ID 0000:0000

Bus 001 Device 004: ID 14aa:022a AVerMedia (again) or C&E

Bus 001 Device 001: ID 0000:0000

```

```

ssmyth / # lsmod

Module                  Size  Used by

dvb_usb_dtt200u        11268  0

dvb_usb                16776  1 dvb_usb_dtt200u

dvb_core               81628  1 dvb_usb

i2c_core               19712  1 dvb_usb

dvb_pll                10116  1 dvb_usb

nvidia               4853680  0

nfsd                  257616  13

exportfs                5440  1 nfsd

lockd                  64656  2 nfsd

nfs_acl                 3456  1 nfsd

sunrpc                146312  10 nfsd,lockd,nfs_acl

snd_seq                54848  0

snd_seq_device          7888  1 snd_seq

snd_hda_intel          14744  0

snd_hda_codec         100992  1 snd_hda_intel

snd_pcm                86856  2 snd_hda_intel,snd_hda_codec

snd_timer              22216  2 snd_seq,snd_pcm

snd                    46480  6 snd_seq,snd_seq_device,snd_hda_intel,snd_hda_codec,snd_pcm,snd_timer

snd_page_alloc          9936  2 snd_hda_intel,snd_pcm

reiserfs              231992  1

usbhid                 37408  0

ohci_hcd               19588  0

ehci_hcd               29256  0

forcedeth              22788  0

usbcore               123368  6 dvb_usb_dtt200u,dvb_usb,usbhid,ohci_hcd,ehci_hcd

video1394              18872  0

sbp2                   23428  0

raw1394                23832  0

eth1394                18768  0

dv1394                 19640  0

ohci1394               30924  2 video1394,dv1394

ieee1394               93688  6 video1394,sbp2,raw1394,eth1394,dv1394,ohci1394

```

Last edited by PCanavan on Tue Mar 21, 2006 8:46 pm; edited 1 time in total

----------

## k-root

have you loaded the firmware into  /usr/lib/hotplug/firmware ?

```
/usr/lib/hotplug/firmware/dvb-usb-dtt200u-01.fw
```

have you tried to disconect-reconnect the usb device while dvb_usb_dtt200u is loaded ?

```

usbcore: registered new driver dvb_usb_dtt200u                                     // insmod   dvb_usb_dtt200u

usbcore: deregistering driver dvb_usb_dtt200u                                        // rmmod   dvb_usb_dtt200u

usbcore: registered new driver dvb_usb_dtt200u                                     // insmod   dvb_usb_dtt200u

usb 1-4: USB disconnect, address 3                                                        // disconect-reconnect the usb device 

usb 1-4: new high speed USB device using ehci_hcd and address 5           

dvb-usb: found a 'WideView/Yuan/Yakumo/Hama/Typhoon DVB-T USB2.0 (WT-200U)' in cold state, will try to load a firmware

dvb-usb: downloading firmware from file 'dvb-usb-dtt200u-01.fw' to the 'Cypress FX2'

dvb-usb: WideView/Yuan/Yakumo/Hama/Typhoon DVB-T USB2.0 (WT-200U) successfully initialized and connected.

usb 1-4: USB disconnect, address 5

dvb-usb: generic DVB-USB module successfully deinitialized and disconnected.

usb 1-4: new high speed USB device using ehci_hcd and address 6

dvb-usb: found a 'WideView/Yuan/Yakumo/Hama/Typhoon DVB-T USB2.0 (WT-200U)' in warm state.

dvb-usb: will use the device's hardware PID filter (table count: 15).

DVB: registering new adapter (WideView/Yuan/Yakumo/Hama/Typhoon DVB-T USB2.0 (WT-200U)).

DVB: registering frontend 0 (WideView USB DVB-T)...

input: IR-receiver inside an USB DVB receiver as /class/input/input4

dvb-usb: schedule remote query interval to 300 msecs.

dvb-usb: WideView/Yuan/Yakumo/Hama/Typhoon DVB-T USB2.0 (WT-200U) successfully initialized and connected.

dvb-usb: recv bulk message failed: -110

```

----------

## PCanavan

I already had the dvb-usb-wt220u-02.fw file in /lib/firmware, but I've now put both it and the 01 version into /usr/lib/hotplug/firmware as well:

```

ninja firmware # ls -l /lib/firmware /usr/lib/hotplug/firmware/

/lib/firmware:

total 24

-r--r--r--  1 root root 8581 Mar 21 07:31 dvb-usb-wt220u-01.fw

-r--r--r--  1 root root 8480 Mar 19 23:07 dvb-usb-wt220u-02.fw

/usr/lib/hotplug/firmware/:

total 24

-r--r--r--  1 root root 8581 Mar 21 07:32 dvb-usb-wt220u-01.fw

-r--r--r--  1 root root 8480 Mar 21 07:32 dvb-usb-wt220u-02.fw

```

It was previously world read\write, but I've just tidied it up as read-only. So it's not that  :Smile: 

If I add, remove, add the driver module, and then plug in the device I still just get:

```

Mar 21 07:33:34 ninja usbcore: registered new driver dvb_usb_dtt200u

Mar 21 07:33:37 ninja usbcore: deregistering driver dvb_usb_dtt200u

Mar 21 07:33:39 ninja usbcore: registered new driver dvb_usb_dtt200u

Mar 21 07:33:45 ninja usb 1-2: new high speed USB device using ehci_hcd and address 4

```

If I then unplug and replug the device:

```

Mar 21 07:37:50 ninja usb 1-2: USB disconnect, address 4

Mar 21 07:37:55 ninja usb 1-2: new high speed USB device using ehci_hcd and address 5

```

I've just tried this on the AthlonXP machine, but I have cofidence that the results would be just as bad on the Athlon64 one  :Sad: 

Given that your log output comes up with "found a ..." before it does "downloading firmware ..." I think the problem is with detection; I've also seen other messages where a missing firmware file simply resulted in a message like "could not find firmware XXX".

Any way of getting better logging on this? What would be nice is a list of the drivers that are being tried for the device, with acceptance\rejection. I could then tell if the 200u driver was being tried, and if so then start to have a poke around to find out why it wasn't admitting responsibility (or have I guessed the internal process completely wrongly?).

EDIT:

Just found this at the top of /usr/src/linux/drivers/media/dvb/dvb-usb/dtt200u.c

```

/* debug */

int dvb_usb_dtt200u_debug;

module_param_named(debug,dvb_usb_dtt200u_debug, int, 0644);

MODULE_PARM_DESC(debug, "set debugging level (1=info,xfer=2 (or-able))." DVB_USB_DEBUG_STATUS);

```

but get no different output after

```

ninja dvb-usb # modprobe -r dvb-usb-dtt200u

ninja dvb-usb # modprobe dvb-usb-dtt200u debug=3

```

Think this is the right way to pass params, no? Did I miss something, or does it just not have anything to say about the matter?

----------

## PCanavan

The investigation continues....

So, in the kernel source file /usr/src/linux/drivers/media/dvb/dvb-usb/dvb-usb-dtt200u.mod.c we have some aliases defined:

```

MODULE_ALIAS("usb:v14AAp0201d*dc*dsc*dp*ic*isc*ip*");

MODULE_ALIAS("usb:v14AAp0301d*dc*dsc*dp*ic*isc*ip*");

MODULE_ALIAS("usb:v14AAp0222d*dc*dsc*dp*ic*isc*ip*");

MODULE_ALIAS("usb:v14AAp0221d*dc*dsc*dp*ic*isc*ip*");

```

Now lsusb -v gives the following info for the tuner:

```

Bus 001 Device 003: ID 14aa:022a AVerMedia (again) or C&E

Device Descriptor:

  bLength                18

  bDescriptorType         1

  bcdUSB               2.00

  bDeviceClass          255 Vendor Specific Class

  bDeviceSubClass       255 Vendor Specific Subclass

  bDeviceProtocol       255 Vendor Specific Protocol

  bMaxPacketSize0        64

  idVendor           0x14aa AVerMedia (again) or C&E

  idProduct          0x022a

  bcdDevice            0.00

  iManufacturer           0

  iProduct                0

  iSerial                 0

```

(plus lots more)

I've found (via Google) that hotplug works by trying to load a module with the name of the hardware ID, and that MODULE_ALIAS permits a driver to be known by many names. So it looks like this driver would be loaded for the four hotplugged device IDs above. The starts of which look suspiciously similar to the ID for my tuner. Except that the tuner is 14aa:022a, not :201, :301, :222 or :221. So, maybe we've just got a hardware revision.

I'm about to add a new module alias then unplug and replug the tuner. Hopefully I won't fry anything.

Can anyone point me to documentation about these usb aliases?

----------

## PCanavan

No joy, but  have found how the IDs are built in file2alias.c, in scripts/mod. Won't bore you with the details, but it starts with vendor and product ID. Now I think that the module isn't being used because my vendor:product isn't in the dtt200u_usb_table stored in dtt200u.c (it lists the others, via constants declared in dvb-usb-ids.h). I may be a fool, but I think randomly hacking bits of the kernel driver code in blind hope would be a step too far.

So, what's the usual approach in these situations? I've checked the latest source on www.linuxtv.org, and there's no 022a product listed. Is it a subscription and post to the linux-dvb mailing list next?

----------

## deltad

Similar situation

2.6.15 r1 

0x14aa:0x022a

I also guessed the USB id was the problem, but I did hack it in the dvb-usb-ids.h

```

dvb-usb-ids.h

#define USB_PID_WT220U_COLD                                     0x022a /* Was 0x0222 */

```

Not sure whether I need to alter the _WARM define too (perhaps to 0x0229? - what purpose does it serve?)

The newer firmware does not seem to load - so I reverted to the older

Next change doesn't seem to be necessary for kernel dvb drivers - I removed v4l & dvb from the kernel and emerged v4l-dvb-CVS, while trying to get this working (not sure it was really necessary)

```

dtt200u.c

        .firmware = "dvb-usb-wt220u-01.fw", /* dvb-usb-wt220u-02.fw did not load */

```

The green light flashes on the stick, so some progress - I am not yet clear if that is what was happening under Windows (solid light)

The report shows the firmware being fetched (/lib/firmware/...) but the device is not successfully created (no /dev/dvb/adaptorX ) 

My suspicion is that there is another firmware for this variant of the Freecom DVB-T stick, which I haven't found.  

Nothing obvious on the installation CD ... 

I will update  if I make any progress this weekend

----------

## PCanavan

Thanks for the update; had given up on the basis that I was just talking to myself  :Smile:  Have now "solved" the problem in the short term by swapping the device with a friends, which is the old model. Since he only runs WinXP we're both happy.

You can get the USB ID under windows from the properties in Device Manager. Have a feeling the WARM state was 0x022b.

----------

## deltad

Some further progress, for any that may be chasing this problem down. No solution yet ...

I have just found the following thread, which  suggests a little more patience for "wait & see" approach will be rewarding - addressing the problem seems to be underway ...

http://comments.gmane.org/gmane.linux.drivers.dvb/24579

So the rest of this update is background only.

The earlier flashing green light on the USB stick may have been indicative of a poor signal, but more likely not properly programmed - it didn't identify itself in the warm state on the USB once the light started flashing.

I did catch some comment on the Latest Freecom Stick having switched frontends from MT??? to a Zarlink part (part of the thread is the link above) - this should not affect the linux drivers so much, but really does require putting the right firmware into the stick when it boots up.

The SYS files on the install CD are identified against the USB IDs by their INF files - WMA_LOADER_220A.SYS probably contains the cold state loader firmware (022A), WMA_CAPTURE_220A.SYS probably contains the warm state receiver firmware that should be loaded subsequently (022B).

Although within the contents there seem similar parts to the previous versions of firmware, it is clear that a simple copy and paste will not work.

So I tried the following firmware generator page

http://www.wi-bw.tfh-wildau.de/~pboettch/home/index.php?site=dvb-usb-firmware

no result. It was not recognised.  Perhaps the wt220u driver isn't one of those for which manufacturers won't release firmware.   But I notice that Freecom web page is a bit behind on driver versions anyway, so it is not that unreasonable for them to also not have the linux firmware available.

Next attempt is using a USB snooper under Windows to watch the firmware being loaded.

Of course the log is still not cut and pastable to a version of firmware that can be used.  Or at least, not easily.

What is the next step?  From hardest to easiest:

a) Disassemble the USB stream to find the most likely (8051?) code - confirm with trial and error

b) Find a way to dump the USB Stick memory contents (under Windows)

c) Wait for the helpful people manufacturing these gadgets to provide the firmware image so that their products can work under linux.

d) Wait for the dvb drivers to be updated with the new firmware by someone more capable

If the alternatives take too long, I will pass the Freecom DVB-T stick to a Windows user and find another cheap stick that is still supported (assuming the compatibility will be any easier to solve)

----------

## Triptol

So here is what I did, it seems to work for me, but your mileage may very.

Recompile the kernel (2.6.16-r9, I have an ivtv card so 2.6.17 is not yet supported) with the following options:

```
Device Drivers ---> 

    Multmedia Devices --->

        [*] Video for Linux

            Digital Video Broacasting Devices --->

                [*] DVB For Linux

                    [M] DVB Core Support

                        [M] Support for various USB DVB devices[
```

Now I'm not quite sure about the last two modules, but I had to compile in the DVB for Linux options so my ivtv card still works. Now rebuild your kernel and all the other modules you might have. Reboot.

Use the following to get the latest linuxtv drivers (please refer to this site for all the details).

```
emerge mercurial

mkdir /root/drivers

cd /root/drivers

hg clone http://linuxtv.org/hg/v4l-dvb

cd v4l-dvb

make

make install
```

This will overwrite some of the modules in /lib/modules.

Now make sure you have the right firmware (dvb-usb-wt220u-zl0353-01.fw) in the right place. Either /lib/firmware or /usr/lib/hotplug/firmware. You can get the firmware here. Please note that you have to rename it to "dvb-usb-wt220u-zl0353-01.fw".

Some more infos can be found in  this thread.

Now plugin the device and see if you have any luck:

```
cat /var/log/message | grep dvb
```

It should look something like this:

 *Quote:*   

> Jun 25 12:03:16 shire dvb-usb: found a 'WideView WT-220U PenType Receiver (based on ZL353)' in cold state, will try to load a firmware
> 
> Jun 25 12:03:16 shire dvb-usb: downloading firmware from file 'dvb-usb-wt220u-zl0353-01.fw'
> 
> Jun 25 12:03:16 shire usbcore: registered new driver dvb_usb_dtt200u
> ...

 

----------

## Triptol

OK, that was a little optimistic for me. The combination of ivtv driver (which is not in the kernel yet) and the v4l stuff mentioned above is not easy. I need to find a way to merge the two drivers. As soon as I have it I will post it here (I know it should be in another thread, maybe I will post a link to that thread then).

----------

## FearlessSpiff

Any news on this one? I have this stick and didn't get it to run...

----------

## mose

I have another id (6000:0001)... although I think that there's something strange with it. When I plug my DVB stick I get these output

```

athlonXP mose # dmesg 

usb 1-2: new full speed USB device using uhci_hcd and address 2

usb 1-2: configuration #1 chosen from 1 choice

```

```

athlonXP mose # lsusb 

Bus 002 Device 001: ID 0000:0000  

Bus 001 Device 002: ID 6000:0001  

Bus 001 Device 001: ID 0000:0000 

```

any ideas?

----------

## pathfinder

not sure you solved your dvb stick

i ve got the same avermedia 14aa:022a stick.

with kernel 2.6.19 gentoo r5 i found a driver, whose name i haven t identified, but that seems to match better your requirements and your dvb usb stick.

i m compiling the kernel right now

tell me if you solved this issue, and please, how.

i ll keep you informed of my advances and the results of this driver's ompilation...

good luck!

----------

## pathfinder

hi

i managed to get it work.

got to 

```
emerge mercurial
```

     (kinda cvs)

then grab the sources

 *Quote:*   

> ~ $ hg clone http://linuxtv.org/hg/v4l-dvb 

 

to retrieve the sources

then

 *Quote:*   

> make
> 
> make install (as root)

 

and that s almost done.

you ll then plug your DVD pen and you ll 

 *Quote:*   

> dmesg

 

to see some firmware is missing.

download it from googling, install it in /lib/firmware

in my case the red one is the only one needed (i could delete the others):

 *Quote:*   

> $ ls /lib/firmware/
> 
> dvb-dibusb-5.0.0.11.fw     dvb-usb-wt220u-01.fw
> 
> dvb-usb-avertv-a800-02.fw  dvb-usb-wt220u-zl0353-01.fw
> ...

 

unplug and plug again your stick, dmesg should be reaaly friendly by now.  :Smile: 

afterwards, installing dtv-apps (portage) would give you the dvbscan utility.

So

 *Quote:*   

> dvbscan /usr/share/dvb/scan/dvb-t/es-Collserola (for my case) > /home/YOU/.maplyer/channels.conf

 

you probably also need to 

```
[color=red]recompile mplayer with USE flags dvb v4l v4l2[/color] 
```

(lirc not tried)

and 

```
mplayer dvb://
```

   to get it work.  h and k keys to change channels.

I guess recompiling xine should be better as it iuncludes an engine for scanning dvb channels

kaffeine also seems to have nice results

----------

## pathfinder

ok guys.

now the remote control works.

it s a crap one, too small, not enough functions.

but i installed vdr and plugins (remote). this is awesome.

that works like a charm.

softdevice and shmclient to configure the remote.

then disable softedevice, enable realchannelscan, and scan for channels.

i use vdr-xine (see vdr overlay) to zap between channels. the OSD is great.

the PIP plugin, the radio/mp3/subtitles, etc plugins are just great.

it a s wonderful job.

go to gentoo-vdr or send me a PM to have better explanations.

there s the good vdr wiki gentoo (google)

schuss!

----------

## Thistled

So now freecom (Aver) has been removed from the DVB section of the kernel config.

I don't see it anywhere in the kernel config.

Yet it shows up as "Wideview" whenever I run lsusb.

No lights, nothing.

How the heck is one supposed to use the stick if it has been removed from the kernel config?

I have the firmware loaded, but nothing.

Anyone know why Aver has been removed from the kernel?

** UPDATE **

Well, it seems if you disable the "remote control" section in kernel config, the user will lose Aver and Wideview from config.   :Embarassed: 

To think, I have had this problem for nearly a year, as I stupidly removed "remote control" section from my kernel, as I don't need it. But if you do that, you lose what you need from the kernel.   :Rolling Eyes: 

A lesson learned, and another trivial problem solved on this box.   :Wink: 

----------

