{"id":433,"date":"2016-05-16T22:42:14","date_gmt":"2016-05-16T21:42:14","guid":{"rendered":"http:\/\/www.flat-planet.net\/?p=433"},"modified":"2016-05-16T22:47:23","modified_gmt":"2016-05-16T21:47:23","slug":"realtek-rtl2832u-on-linux-debian","status":"publish","type":"post","link":"https:\/\/flat-planet.net\/?p=433","title":{"rendered":"Realtek RTL2832U on Linux (Debian)"},"content":{"rendered":"<p>So, now that I&#8217;d dipped my toe in the water with the <a href=\"http:\/\/www.flat-planet.net\/?p=430\">RTL2832U on Win10<\/a>, I actually planned on permanently integrating it into my media setup with is based on a RPI3 running OpenElec and a Debian server providing backend storage.<\/p>\n<p>This turned out to be one of those good news bad news situations. The good news is that the dongle has kernel support, the bad news was that Wheezy was still on 3.2 which was lacking this support. After a failed attempt to compile the driver, followed by a failed attempt to compile the kernel (stupid linux-headers not found!) I just went ahead and upgraded the box to Jessie (Linux 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt25-1 (2016-03-06) x86_64 GNU\/Linux).<\/p>\n<p>A long update, upgrade, dist-upgrade later and the dongle was in and recognised<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\n&#x5B;\u00a0\u00a0\u00a0 1.196017] usb 8-1: Manufacturer: Realtek\r\n&#x5B;\u00a0\u00a0 19.650428] usb 8-1: dvb_usb_v2: found a 'Realtek RTL2832U reference design' in warm state\r\n&#x5B;\u00a0\u00a0 19.717623] usb 8-1: dvb_usb_v2: will pass the complete MPEG2 transport stream to the software demuxer\r\n&#x5B;\u00a0\u00a0 19.717658] DVB: registering new adapter (Realtek RTL2832U reference design)\r\n&#x5B;\u00a0\u00a0 19.721246] usb 8-1: DVB: registering adapter 0 frontend 0 (Realtek RTL2832 (DVB-T))...\r\n&#x5B;\u00a0\u00a0 20.007861] i2c i2c-9: rtl2832_sdr: Realtek RTL2832 SDR attached\r\n&#x5B;\u00a0\u00a0 20.015340] input: Realtek RTL2832U reference design as \/devices\/pci0000:00\/0000:00:1d.7\/usb8\/8-1\/rc\/rc0\/input6\r\n&#x5B;\u00a0\u00a0 20.015348] rc0: Realtek RTL2832U reference design as \/devices\/pci0000:00\/0000:00:1d.7\/usb8\/8-1\/rc\/rc0\r\n&#x5B;\u00a0\u00a0 20.104268] input: MCE IR Keyboard\/Mouse (dvb_usb_rtl28xxu) as \/devices\/virtual\/input\/input7\r\n&#x5B;\u00a0\u00a0 20.104356] usb 8-1: dvb_usb_v2: schedule remote query interval to 400 msecs\r\n&#x5B;\u00a0\u00a0 20.117509] usb 8-1: dvb_usb_v2: 'Realtek RTL2832U reference design' successfully initialized and connected\r\n&#x5B;\u00a0\u00a0 20.117602] usbcore: registered new interface driver dvb_usb_rtl28xxu\r\n&#x5B;\u00a0\u00a0 20.160507] rc rc0: lirc_dev: driver ir-lirc-codec (dvb_usb_rtl28xxu) registered at minor = 0\r\n<\/pre>\n<p>Next step&#8230;<\/p>\n<h2>Installing tvheadend<\/h2>\n<p>My original plan was to just have the dongle running directly connected to the RPI but power was a concern (no powered hub) and since my linux server is always running anyway, why not install the backend software there and have the tvheadend client running on the RPI\/OpenELEC side of things?<\/p>\n<p>Installation isn&#8217;t actually that straightforward but can be broken down into a few steps<\/p>\n<ol>\n<li>Install the package<br \/>\nThis involves adding the tvheadend repository to your sources list and you will add a user account\/password as part of the install process<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">sudo apt-key adv --keyserver hkp:\/\/keyserver.ubuntu.com:80 --recv-keys 379CE192D401AB61\r\necho &quot;deb https:\/\/dl.bintray.com\/tvheadend\/deb &lt;strong&gt;jessie stable&lt;\/strong&gt;&quot; | sudo tee -a \/etc\/apt\/sources.list\r\nsudo apt-get update\r\nsudo apt-get install tvheadend<\/pre>\n<\/li>\n<li>Configure via the web interface at &lt;IP Address&gt;:9981\n<ol>\n<li>Check that your dongle shows up under Configuration -&gt; DVB Inputs -&gt; TV Adapters<\/li>\n<li>Under Configuration -&gt; DVB Inputs -&gt; Networks, add a DVB-T network (for Ireland) and select from the list of Pre-defined MUXs (Ireland-WoodcockHill for me)<br \/>\n<a href=\"https:\/\/www.flat-planet.net\/wp-content\/uploads\/2016\/05\/create-dvbT-network.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-434\" src=\"https:\/\/www.flat-planet.net\/wp-content\/uploads\/2016\/05\/create-dvbT-network.png\" alt=\"create-dvbT-network\" width=\"565\" height=\"479\" \/><\/a><\/li>\n<li>Back under Configuration -&gt; DVB Inputs -&gt; Networks, map the newly created network to the dongle<br \/>\n<a href=\"https:\/\/www.flat-planet.net\/wp-content\/uploads\/2016\/05\/hardware-network-mapping-DVB-T.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-435\" src=\"https:\/\/www.flat-planet.net\/wp-content\/uploads\/2016\/05\/hardware-network-mapping-DVB-T.png\" alt=\"hardware-network-mapping-DVB-T\" width=\"559\" height=\"564\" \/><\/a><\/li>\n<li>Under Muxes, the scan status for the added muxes will start at &#8216;Idle&#8217; then eventually start scanning and find your channels<\/li>\n<li>You should see the Services start to be listed as they are discovered, and at this point under Configuration -&gt; Channel, you can map the service to a channel<br \/>\n<a href=\"https:\/\/www.flat-planet.net\/wp-content\/uploads\/2016\/05\/channel-config-DVB-T.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-436\" src=\"https:\/\/www.flat-planet.net\/wp-content\/uploads\/2016\/05\/channel-config-DVB-T.png\" alt=\"channel-config-DVB-T\" width=\"1264\" height=\"577\" \/><\/a><\/li>\n<li>Last step on the backend side is to enable the EPG. I have both the OTA grabber and the Radio Times for UK\/Ireland enabled and we are done<a href=\"https:\/\/www.flat-planet.net\/wp-content\/uploads\/2016\/05\/EPG-grabber-DVB-T.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-438\" src=\"https:\/\/www.flat-planet.net\/wp-content\/uploads\/2016\/05\/EPG-grabber-DVB-T.png\" alt=\"EPG-grabber-DVB-T\" width=\"725\" height=\"682\" \/><\/a><br \/>\n<a href=\"https:\/\/www.flat-planet.net\/wp-content\/uploads\/2016\/05\/EPG-DVB-T.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-437\" src=\"https:\/\/www.flat-planet.net\/wp-content\/uploads\/2016\/05\/EPG-DVB-T.png\" alt=\"EPG-DVB-T\" width=\"1273\" height=\"600\" \/><\/a><\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<p>On the OpenELEC frontend, much simpler.<\/p>\n<p>Install the add-on from under PVR, configure it with the hostname, username, and password, and under Settings -&gt; TV, Enable live TV. Sorted!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>So, now that I&#8217;d dipped my toe in the water with the RTL2832U on Win10, I actually planned on permanently integrating it into my media setup with is based on a RPI3 running OpenElec and a Debian server providing backend storage. This turned out to be one of those good news bad news situations. The [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[182,38],"tags":[215,260,261,262,263,33,264,265,42,266,90,267,115],"series":[],"class_list":["post-433","post","type-post","status-publish","format-standard","hentry","category-gadgets","category-linux","tag-upgrade","tag-rtl2832u","tag-tvheadend","tag-debian","tag-jessie","tag-projects-2","tag-limerick","tag-dvb-t","tag-linux-2","tag-video","tag-ireland","tag-dab","tag-config"],"_links":{"self":[{"href":"https:\/\/flat-planet.net\/index.php?rest_route=\/wp\/v2\/posts\/433","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/flat-planet.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/flat-planet.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/flat-planet.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/flat-planet.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=433"}],"version-history":[{"count":3,"href":"https:\/\/flat-planet.net\/index.php?rest_route=\/wp\/v2\/posts\/433\/revisions"}],"predecessor-version":[{"id":441,"href":"https:\/\/flat-planet.net\/index.php?rest_route=\/wp\/v2\/posts\/433\/revisions\/441"}],"wp:attachment":[{"href":"https:\/\/flat-planet.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=433"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/flat-planet.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=433"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/flat-planet.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=433"},{"taxonomy":"series","embeddable":true,"href":"https:\/\/flat-planet.net\/index.php?rest_route=%2Fwp%2Fv2%2Fseries&post=433"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}