Jump to content


Gennar1

Member Since 22 Aug 2011
Offline Last Active 02 Nov 2015 21:35
-----

#357027 OpenPLi 3.0 and H264

Posted by Gennar1 on 20 June 2013 - 11:32

FYI:

http://stackoverflow...test-git-commit

 

git format-patch -n HEAD^
git show HEAD > some-patch0001.patch

 

 

In a simpler way:

 

if you want to produce a patch from your last commit:

git format-patch -n1

if you want to produce a patch series including your last 3 commits (for example):

git format-patch -n3

and the 3 patches will be named 0001-*, 0002-*, 0003-*.




#354893 [ETxx00] PCTV nanostick T2 290e fully working (DVB-T + DVB-T2)

Posted by Gennar1 on 7 June 2013 - 10:23

You mean? The memory fragmentation patch? That would be interesting indeed.

 

Yes.

I found an old archive on my PC with the patches in attachment against a vanilla 3.2 kernel:

patch -p1 < em28xx-reworked-device-probing-to-get-max-dvb-iso-packet-size.patch
patch -p1 < em28xx-pre-allocate-DVB-iso-transfer-buffers.patch
patch -p1 < em28xx-dvb-stop-URBs-when-stopping-the-streaming.patch

You should be able to apply them to the DMM kernel.

Attached Files




#354111 [ETxx00] PCTV nanostick T2 290e fully working (DVB-T + DVB-T2)

Posted by Gennar1 on 2 June 2013 - 14:06

Looks like you are facing the memory fragmentation problem that was solved with this patch a long time ago:

https://linuxtv.org/patch/9875/

If I remember correctly, this patch was merged in kernel 3.3, so you are still having the issue with the 3.2 kernel used by Dreamboxes.




#329670 RTL2832U chipset support proposal

Posted by Gennar1 on 24 January 2013 - 18:29

Hi guys,
recently I bought an ultra-cheap DVB-T stick form a Chinese ebayer that is based on the rtl2832 chipset with a new tuner: the Rafael Micro R820T. It is not supported by the current dvb-usb-rtl2832 OpenPli driver, but I found a new version of the Realtek driver that adds support for this new tuner. So I ported all our enhancements on the new driver version and I made a new patch for the ETxx00 3.6.0 kernels (see dvb-usb-rtl2832_kernel_3.6.tar.gz in attachment).
It is a drop-in replacement of the current patch (there's no need to modify the recipe). This patch should also apply to older kernels (e.g. the 3.2 DMM kernel) but you may have to adapt the dvb-usb Makefile and Kconfig bits in order to apply it (not tested).

While I was working on it, I also added support for newer kernels (up to 3.8-rc4) and the current media_build experimental tree (http://git.linuxtv.org/media_build.git).
Linux PC users can use the second patch (dvb-usb-rtl2832_kernel_3.8.tar.gz) to add support for the new rtl2832 devices to their distribution kernels (through the media_build script).
A different patch is needed because in kernel 3.8 the directory structure of the media drivers has changed, so all the files have a different path.

I also implemented properly the get_frontend() ioctl on this driver, so now you can read the real tuning parameters from the tuner in Enigma 2 (Guard Interval , Code rate HP, Code rate LP, Inversion, ...). I hope this makes Ims happy ;-)

Attached Files




#327171 2 identical usb tuners: is possible?

Posted by Gennar1 on 13 January 2013 - 17:17

Hi all, the patch in attachment fixes the problem with the af9035 driver and the new revision of the A867 stick (the "DP7" revision).
The fix has been successfully tested by Drake.

Pieterg, can you add this patch to the Xtrend kernels?
Also, the patch tda18218-7mhz-lopass.patch should be deleted, as it was only required by the old out-of-kernel af9035 driver (due to a wrong setting of the IF frequency). The new af9035 kernel driver does not need it anymore.

Regards,
Gennar1

Attached Files




#275970 new it913x drivers not working in new kernel with et9000

Posted by Gennar1 on 10 May 2012 - 01:48

I have a chip version 2, from what I understand the path solves the problem of access to the USB chip to version 1
So do not install this patch.


The fix will benefit all models. Anyway, I'm not sure your problem is related to this bug. Nevertheless, it's worth a try.

As the ET support explained, this driver has been under heavy development for the last 2 kernel cicles. All the patches from kernel 3.4-rc* are already merged in the OpenPli 3.3 kernel. This last one was posted just a couple of days ago and it's not even on the experimental tree yet. So there is nothing more we can do (as we don't have the hardware in our hands).


#275361 Suggestion for DVB stick

Posted by Gennar1 on 7 May 2012 - 01:58


opkg install kernel-module-dvb-usb-a867




#261512 Bad Picture Quality of Enigma2 vs Katherin/Humax/Techisat/Azbox/etc...

Posted by Gennar1 on 7 March 2012 - 00:26

I believe this is incorrect, decoding is not a lossless operation, every decoder produces different output. The algorithm used allows specific optimizations to improve quality. At least this was the case for MPEG2 decoders, don't know if this has changed in H.264.


You are right about MPEG2: this standard used a real DCT transform, which required some approximation to be computed on hardware without a FPU. The MPEG2 specification defined the maximum error tolerated to be compliant to the standard, but different implementations could produce different results.

With H.264 this is completely solved using only integer transforms that need no FPU calculation, so they can be computed with no approximation using only integer math. So every H.264 decoder produces exactly the same output. There is no room for shortcuts: if an H.264 decoder produced a different output than the reference decoder, it is not compliant to the specs so it cannot be called an "H.264" decoder.


#254785 Is the AVerTV TwinStar A825 DVB-T USB TWIN-Tuner supported by the newest Ope...

Posted by Gennar1 on 14 February 2012 - 16:16

I just checked and there is no metapackage yet for the af9035 driver.
So you have to telnet into the box and run:

opkg install kernel-module-dvb-usb-af9035

to get the driver and then:

cd /lib/firmware/
wget http://xgazza.altervista.org/Linux/DVB/dvb-usb-af9035-01.fw

to get the firmware. Reboot and you are ready to go.


#254637 Is the AVerTV TwinStar A825 DVB-T USB TWIN-Tuner supported by the newest Ope...

Posted by Gennar1 on 14 February 2012 - 02:56

Uh, you are right, the USB id of the A825 is in the current af9035 driver, so it is already supported.
Since it works well with both tuner, it probably uses two mxl5007 or two tua9001 tuners.

The memory problem is not present on the ET9xx00 boxes (at least on dvb-usb drivers), but I read of many VU+ users with this problem so it must be due to their new drivers. Probably in the Vtuner they allocate and free some big coherent memory buffer at runtime, which is prone to fail sooner or later on MIPS hardware due to memory fragmentation. A similar issue is plaguing the em28xx driver on the ET9000 (and I have a fix under test in this moment).


#253981 Compatibility of *.TS HD recording towards other (external) players.

Posted by Gennar1 on 12 February 2012 - 01:20

It has completely nothing to do with that.

An mpeg transport stream can hold all sorts of video and audio codecs for both sd and hd.

If you sell your product as being able to play "mpeg transport streams" it should at least be able to play the most common codecs, like mpeg2 and avc. If it can't they're at least cheating, but then blaming the stb/enigma is... I don't have words for it!


The Oppo guy was probably saying that they support the DLNA specifications, not the DVB specifications. In DLNA the only mandatory video codec for TS is MPEG2, AVC is optional as almost every other codec, so it can be considered "non standard". The reason behind it is that in DLNA you want a simple common profile that can be supported by all kind of devices. That said, I don't see any good reason why the file should not be playable: probably it is just a mis-detection of the file format.


#239189 Moving to "high-tech" house, need new receiver, guidance

Posted by Gennar1 on 17 December 2011 - 19:17

Trying to find a decent usb dvb-t/t2 tuner for the ET9200 now.. googling around for a while I landed on this one, looks really neat. Anyone knows if it works with the ET9200?


Yes, it works perfectly:

http://openpli.org/f...g-dvb-t-dvb-t2/


#237804 Patch to fix SNR display with PCTV 290e (plus a fix for xc3028 tuner in VHF b...

Posted by Gennar1 on 10 December 2011 - 20:05

Hi all,
in attachment 2 new patches for DVB-T drivers in kernel 3.1.0.

The first one fixes SNR display in Enigma2 (and also with Kaffeine under Ubuntu) for the PCTV 290e DVB-T/T2 stick.
The original driver outputs the SNR as dBx10; this value is now capped to a max SNR value (dependent on the delivery system and modulation type) and then scaled to the full range 0-65536 that is displayed by the coloured bar in Enigma2. The result is very nice.

The second patch is a minor fix to the xc3028 tuner that makes possible to tune VHF channels.

Attached Files




#235107 RTL2832U chipset support proposal

Posted by Gennar1 on 28 November 2011 - 01:41

Nice work Ambrosa.
It is worth mentioning that someone else has posted a patch to add support for kernel 3.2-rc2 (the latest version) to your source tree:

http://www.mail-arch...g/msg39588.html

Maybe it's better to merge that patch too, so when there will be the next kernel upgrade the patch will be ready.

--- a/rtl2832u.c	    2011-11-27 11:05:03.587543422 +0100
+++ b/rtl2832u.c	    2011-11-27 10:47:19.329713097 +0100
@@ -689,7 +689,11 @@ error:

static int rtl2832u_frontend_attach(struct dvb_usb_adapter *adap)
{
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0)
+	   adap->fe_adap[0].fe = rtl2832u_fe_attach(adap->dev);
+#else
	    adap->fe = rtl2832u_fe_attach(adap->dev);
+#endif
	    return 0;
}

@@ -835,9 +839,16 @@ static struct dvb_usb_device_properties
	    .adapter =
	    {
			    {
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0)
+			   .fe_ioctl_override = rtl2832u_ioctl_override,
+			   .num_frontends = 1,
+			   .fe = {{
+#endif
					    .streaming_ctrl = rtl2832u_streaming_ctrl,
					    .frontend_attach = rtl2832u_frontend_attach,
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,2,0)
					    .fe_ioctl_override = rtl2832u_ioctl_override,
+#endif
					    //parameter for the MPEG2-data transfer
					    .stream =
					    {
@@ -852,6 +863,9 @@ static struct dvb_usb_device_properties
									    }
							    }
					    },
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0)
+			   }},
+#endif
			    }
	    },

@@ -917,9 +931,16 @@ static struct dvb_usb_device_properties
	    .adapter =
	    {
			    {
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0)
+			   .fe_ioctl_override = rtl2832u_ioctl_override,
+			   .num_frontends = 1,
+			   .fe = {{
+#endif
					    .streaming_ctrl = rtl2832u_streaming_ctrl,
					    .frontend_attach = rtl2832u_frontend_attach,
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,2,0)
					    .fe_ioctl_override = rtl2832u_ioctl_override,
+#endif
					    //parameter for the MPEG2-data transfer
					    .stream =
					    {
@@ -934,6 +955,9 @@ static struct dvb_usb_device_properties
									    }
							    }
					    },
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0)
+			   }},
+#endif
			    }
	    },
	    //remote control
@@ -999,9 +1023,16 @@ static struct dvb_usb_device_properties
	    .adapter =
	    {
			    {
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0)
+			   .fe_ioctl_override = rtl2832u_ioctl_override,
+			   .num_frontends = 1,
+			   .fe = {{
+#endif
					    .streaming_ctrl = rtl2832u_streaming_ctrl,
					    .frontend_attach = rtl2832u_frontend_attach,
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,2,0)
					    .fe_ioctl_override = rtl2832u_ioctl_override,
+#endif
					    //parameter for the MPEG2-data transfer
					    .stream =
					    {
@@ -1016,6 +1047,9 @@ static struct dvb_usb_device_properties
									    }
							    }
					    },
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0)
+			   }},
+#endif
			    }
	    },

@@ -1087,9 +1121,16 @@ static struct dvb_usb_device_properties
	    .adapter =
	    {
			    {
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0)
+			   .fe_ioctl_override = rtl2832u_ioctl_override,
+			   .num_frontends = 1,
+			   .fe = {{
+#endif
					    .streaming_ctrl = rtl2832u_streaming_ctrl,
					    .frontend_attach = rtl2832u_frontend_attach,
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,2,0)
					    .fe_ioctl_override = rtl2832u_ioctl_override,
+#endif
					    //parameter for the MPEG2-data transfer
					    .stream =
					    {
@@ -1104,6 +1145,9 @@ static struct dvb_usb_device_properties
									    }
							    }
					    },
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0)
+			   }},
+#endif
			    }
	    },
	    //remote control
@@ -1176,9 +1220,16 @@ static struct dvb_usb_device_properties
	    .adapter =
	    {
			    {
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0)
+			   .fe_ioctl_override = rtl2832u_ioctl_override,
+			   .num_frontends = 1,
+			   .fe = {{
+#endif
					    .streaming_ctrl = rtl2832u_streaming_ctrl,
					    .frontend_attach = rtl2832u_frontend_attach,
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,2,0)
					    .fe_ioctl_override = rtl2832u_ioctl_override,
+#endif
					    //parameter for the MPEG2-data transfer
					    .stream =
					    {
@@ -1193,6 +1244,9 @@ static struct dvb_usb_device_properties
									    }
							    }
					    },
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0)
+			   }},
+#endif
			    }
	    },
	    //remote control
@@ -1265,9 +1319,16 @@ static struct dvb_usb_device_properties
	    .adapter =
	    {
			    {
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0)
+			   .fe_ioctl_override = rtl2832u_ioctl_override,
+			   .num_frontends = 1,
+			   .fe = {{
+#endif
					    .streaming_ctrl = rtl2832u_streaming_ctrl,
					    .frontend_attach = rtl2832u_frontend_attach,
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,2,0)
					    .fe_ioctl_override = rtl2832u_ioctl_override,
+#endif
					    //parameter for the MPEG2-data transfer
					    .stream =
					    {
@@ -1282,6 +1343,9 @@ static struct dvb_usb_device_properties
									    }
							    }
					    },
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0)
+			   }},
+#endif
			    }
	    },
		 /*remote control*/
@@ -1353,9 +1417,16 @@ static struct dvb_usb_device_properties
	    .adapter =
	    {
			    {
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0)
+			   .fe_ioctl_override = rtl2832u_ioctl_override,
+			   .num_frontends = 1,
+			   .fe = {{
+#endif
					    .streaming_ctrl = rtl2832u_streaming_ctrl,
					    .frontend_attach = rtl2832u_frontend_attach,
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,2,0)
					    .fe_ioctl_override = rtl2832u_ioctl_override,
+#endif
					    //parameter for the MPEG2-data transfer
					    .stream =
					    {
@@ -1370,6 +1441,9 @@ static struct dvb_usb_device_properties
									    }
							    }
					    },
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0)
+			   }},
+#endif
			    }
	    },
	    //remote control
@@ -1436,9 +1510,16 @@ static struct dvb_usb_device_properties
	    .adapter =
	    {
			    {
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0)
+			   .fe_ioctl_override = rtl2832u_ioctl_override,
+			   .num_frontends = 1,
+			   .fe = {{
+#endif
					    .streaming_ctrl = rtl2832u_streaming_ctrl,
					    .frontend_attach = rtl2832u_frontend_attach,
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,2,0)
					    .fe_ioctl_override = rtl2832u_ioctl_override,
+#endif
					    //parameter for the MPEG2-data transfer
					    .stream =
					    {
@@ -1453,6 +1534,9 @@ static struct dvb_usb_device_properties
									    }
							    }
					    },
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0)
+			   }},
+#endif
			    }
	    },
	    //remote control
@@ -1519,9 +1603,16 @@ static struct dvb_usb_device_properties
	    .adapter =
	    {
			    {
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0)
+			   .fe_ioctl_override = rtl2832u_ioctl_override,
+			   .num_frontends = 1,
+			   .fe = {{
+#endif
					    .streaming_ctrl = rtl2832u_streaming_ctrl,
					    .frontend_attach = rtl2832u_frontend_attach,
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,2,0)
					    .fe_ioctl_override = rtl2832u_ioctl_override,
+#endif
					    //parameter for the MPEG2-data transfer
					    .stream =
					    {
@@ -1536,6 +1627,9 @@ static struct dvb_usb_device_properties
									    }
							    }
					    },
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0)
+			   }},
+#endif
			    }
	    },
	    //remote control



#231829 [ETxx00] PCTV nanostick T2 290e fully working (DVB-T + DVB-T2)

Posted by Gennar1 on 16 November 2011 - 02:04

This is the list of modules you need to install to run the PCTV 290e:
tda18271
cxd2820r
em28xx_dvb
em28xx
v4l2_common
videodev
videobuf_vmalloc
videobuf_core
tveeprom

This should be the list for the PCTV 460e (not tested):
a8293
tda10071
em28xx_dvb
em28xx
v4l2_common
videodev
videobuf_vmalloc
videobuf_core
tveeprom