I've been following this thread with interest for the last week or so. I have both a PCTV 290e and the August T220. However, the driver software I'm using is stuff I've written myself, based on the Linux source code as I don't have access to most of the device data sheets. The driver software is 'user space' (i.e. not a kernel driver, so it's easier to debug) and doesn't even target Linux.
The software for the 290e works perfectly. However, and unsurprisingly, the T220 only works with a DVB-T mux. The transport stream from a T2 mux is garbled and sometimes even VLC crashes when attempting to play it.
I've looked over CrazyCat's latest patch for the T220 and also the 'usblyzer' CSV file provided by Jukka Pirinen. On a hunch that the 'ts_mode' is wrong, I checked Jukka's CSV file and sure enough, I can see a I2C write sequence:
08 6C 02 71 E4
which CrazyCat has added to his latest patch. However, a little further down in the file is:
08 6C 02 71 BC
So, instead of setting register 70 to 0x38 or 0xE4, I've tried it with 0xBC.
For the first time I've been able to record the transport stream for a DVB-T2 mux (about 150Mb in 30 seconds - I'm in UK, so these are the Freeview HD channels).
The original Linux source for the Sony CXD2028R has in it's header:
#define CXD2820R_TS_SERIAL 0x08
#define CXD2820R_TS_SERIAL_MSB 0x28
#define CXD2820R_TS_PARALLEL 0x30
#define CXD2820R_TS_PARALLEL_MSB 0x70
for 'ts_mode' settings. I've no idea what 0xBC means. Anyone else want to give this 'ts_mode' a go? Anyone know the meaning of these settings?