OpenLGTV BCM

From Openlgtv
Jump to: navigation, search

At 23 March 2011 our member xeros started a project named OpenLGTV BCM (OpenLGTV for Broadcom platform based LG TVs).
It's a part of firmware replacement for 2010 Broadcom BCM3549/3556 based LG TV models.

Speaking in other words - it's a small Open Source Linux distribution based on GPL licence which doesn't remove any of LG firmware features, just adds more.

Most part of LG firmware is still running and is needed to have tuners input, hardware media player and TV screen picture and audio output.

LG haven't released hardware drivers to make it possible to build complete firmware replacement.

Supported platforms

OpenLGTV BCM is designed for all Broadcom based 2010 2D and 3D LG TV models. (all countries are supported)

Here's a complete list of supported models: Achievements 

If your model is not on the list then contact us to confirm if it's supported or not and update list.

Support for 2011 SmartTV models was planned to be done with OpenLGTV BCM 0.5.0 but as there's more security at bootloader it wont be available without work at the side of such models owners.

Update: http://openlgtv.org.ru/forum/viewtopic.php?f=9&t=661 (OpenLGTV BCM experimental build for SmartTV models)

Prerequisites

BusyBox shell access via serial connection to TV is needed to be able to install any OpenLGTV BCM version for the first time.

More info here:

Basic RS-232C connection setup
Debug mode connection#Debug_mode_on_post_2009_year_firmware_versions
IR Hacks (needed to unlock debug menu access)

WARNING

Starting from 0.4.0-beta2 install script makes automated backup of all partitions to USB stick/disk before proceeding with installation.

You should prepare FAT32 formated partition on USB stick/disk with at least 2GB of free space for backup.

Keep that backup in safe place in case of any problems in the future.

Currently the most recent 0.5.0-rc* version is recommended.


There's no warranty for using custom firmwares or instructions mentioned here. YOU USE IT ON YOUR OWN RISK.

Read everything carefully, follow official project thread and linked wiki pages. Even small mistake can brick TV.

Althrough we try to help in most cases we don't take responsibility for possible damages on your devices!


Up to now LG firmware Network Upgrades were safe but since December 15th 2011 LG started to deliver new security via Network Upgrades.

This new security tries to disable OpenLGTV BCM and changes debug status so upgrades shouldn't get accepted since now.

OpenLGTV BCM 0.4.3 is not compatibile with the latest firmwares with new security - use 0.5.0-rc1 instead.

Main Features

  • network access to TV via telnet, SSH, http
  • new BusyBox shell with most of applets enabled
  • ability to execute custom scripts binaries on TV boot and USB storage devices connection
  • possibility to copy dirs/files remotely via SCP protocol
  • NFS and CIFS network shares automated and manual mounting (can be used for media playback)
  • Internet Browser to browse most real Internet web pages using remote control
  • hotplugged USB wire- and wireless mouse support for web browser
  • web based FileManager with possibilities to copy, move, rename, delete, dir creation and media playback from any path (few more file extensions are supported), including text and image viewer
  • possibility to wake few other WakeOnLan capable devices on TV boot (TV is not capable of being woken up via LAN)
  • WebUI (available onscreen and remotely) to control main settings, execute any command, password/PIN setup, edit list of network shares and WakeOnLan machines to wake
  • access to around 200 NetCast services (not all of them work in all countries)
  • support for Yahoo Widgets Engine running from NTFS formated USB storage devices (YWE needs to be downloaded separately, extended to get available over 120 widgets at the moment)
  • web based remote control page to control TV from PC/tablet/mobile
  • integrated OPENRELEASE project by rtokarev with possibility to bind any action to any remote control button (including custom scripts/binaries/web services)
  • possibility to use custom Bluetooth dongle drivers (no precompiled/modified drivers available for download)
  • possibility to customize WebUI or add custom CGI web pages
  • remote access to Debug Menu if available
  • small writable storage for custom binaries and libs
  • possibility to use some Linux graphic applications which use DirectFB or SDL for display rendering on TV screen
  • support for 'extroot' dir on NTFS formated USB storage partition with custom additional binary apps, scripts, libraries

Installation instruction

  • Put OpenLGTV_BCM*.tar.sh file to USB stick (prefered FAT16 or FAT32 partition to be able get backups and logs from first installation).
  • Safetly disconnect USB stick from PC, connect it to TV and run the installation script by running command from BusyBox shell:
/mnt/usb1/Drive1/OpenLGTV_BCM...tar.sh install

(installer supports few other useful arguments also, for full list use --help parameter)

  • After successful flash reboot TV will reboot itself (if something went wrong it wont reboot and give you info what's wrong)
  • After successful TV boot go into WebUI (via NetCast button and OpenLGTV BCM icon) and change password
  • Password can be changed also in shell via telnet/SSH/serial connection
  • (telnet/SSH login is 'root' and HTTP login is 'openlgtv', in both cases default password 'openlgtv', leaving default password set it's asking for troubles in open LAN, WAN or WLAN networks)
  • Report success (or problems if any) in forum thread, with info about full model name, country, LG firmware version and OpenLGTV BCM version used.

Changelog

Link to changelog in SVN repository

Important notice

North American models don't have builtin web browser in LG firmware so most OpenLGTV BCM features (web based ones) are not supported by default, but it's possible to add web browser and get most features to work.

Models from countries other than United States don't have builtin Yahoo Widgets Engine so those need to use it on any NTFS formated USB storage device.
Japanese models are not supported due to completetly different firmware. Is there any demand for OpenLGTV BCM for TV models in Japan?

Screenshots/Photos

WebUI

OpenLGTV BCM-NetShare.png

Internet Browser (proper navigation using remote control (including text typing) on real Internet web pages is work in progress in OpenLGTV BCM 0.5.0)

OpenLGTV BCM-InternetBrowser.png

Yahoo Widgets configured to support widgets from Samsung TVs (currently over 120 widgets available (althrough not all of them work properly), optional, running from USB stick/disk)

CGI-FileManager.jpg

OpenLGTV BCM-YahooWidgets1.jpg

OpenLGTV BCM-YahooWidgets2-Flicker.jpg

OpenLGTV BCM-YahooWidgets3-Twitter.jpg

OpenLGTV BCM-YahooWidgets4.jpg

Ipla Alternative (written for our models as a consequence of LG decission on Ipla player release for new 2011 SmartTV TV models only)

OpenLGTV BCM-IplaAlternative1.jpg

OpenLGTV BCM-IplaAlternative2.jpg

OpenLGTV BCM-IplaAlternative3.jpg

OpenLGTV BCM-IplaAlternative4.jpg

TVP.pl Alternative

OpenLGTV BCM-TVPplAlternative1.jpg

OpenLGTV BCM-TVPplAlternative2.jpg

NetCast services links, including services from all countries of 2010 and 2011 TV models (currently ~220, some of them need more modifications)

OpenLGTV BCM-NetcastServices1.jpg OpenLGTV BCM-NetcastServices2.jpg

Download and Support

Official forum thread: [n]

Any feedback as comments, bug reports, feature requests are always welcome.

Please include these informations in feedback:

1. Model name
2. Country
3. Firmware version (both OpenLGTV BCM version and LG firmware version)
[4. Boot logs] (logs not needed if everything worked without problems)
(starting from 0.5.0-beta3 you can gather and upload logs to pastebin with 'info.sh paste' command)

Usage

After installation TV will reboot and first boot might take much longer than usual as it's preparing configs, downloading icons pack, etc.

Give it time before you'll decide to switch TV off or reboot (something around 5 minutes should be OK).


TV menus would remain unchanged compared to stock firmware, the only visible difference will be NetCast menu - two new icons will get shown: "OpenLGTV BCM" and "WWW".

First one is WebUI to control OpenLGTV BCM settings, setup Network Shares, access to extended custom network services list, FileManager, etc.

Second one is Internet Browser - interface to browse normal Internet web pages. It's possible to navigate using remote control but it's not convenient to naviagate through anchors using remote control. It's a lot easier with USB mouse (most both wire- and wireless mouses are supported, excluding Bluetooth HID devices). Just don't expect smooth browsing on 400MHz CPU, which has to display web pages and handle flash content at 720p resolution.

I try to keep navigation in WebUI, Internet Browser and FileManager rather consistent and common actions bound to remote control buttons (if not stated elsewhere on screen) are:

  • arrows - navigate through items, buttons in WebUI, FileManager, services list or choose letters from onscreen virtual keyboard (everywhere where's visible),
  • Channel Up/Down - scrolls page in Internet Browser, custom services links, jumps by 10 dir/files in FileManager panels, scrolls viewed text files in FileManager,
  • OK - select item/option/switch text type method/enter selected character from onscreen keyboard,
  • Back - go to previous page, cancel selection or exit from onscreen keyboard typing method,
  • Blue - backspace, remove last entered character,
  • Pause - capslock, switch upper/lower case letters,
  • Exit - exit from menu, get back to TV view,
  • Yellow - save settings in WebUI/add item for Network Shares and EtherWake/go to typed URL in Internet Browser,
  • Info - custom services list (there are alternative buttons for remote controls without Info button),
  • 0-9 - type text in simmilar way as on mobile keyboards,

Additional key bindings for OpenLGTV BCM Internet Browser (common for keyboard frame and opened web page frame):

  • Red - Search on Bing (I usually prefer Google as search engine but Google can enforce bot detection check) - it opens Bing page with search results based on text typed into input field,
  • Green - Switch page - switches between virtual keyboard with input field tab and bookmarks/opened web page (you can see which one is currently selected with highlighted frame background),
  • Play - Show/Hide Keyboard frame,
  • Info/Stop - bring custom services links,

In selected keyboard frame mode:

  • Yellow - Go to URL - opens web page using URL written into input field,
  • Blue - backspace,
  • Arrows - Navigate on onscreen keyboard,
  • OK - enter character from onscreen keyboard into input field,

In selected web page frame mode:

  • FAV - selects next anchor/link on web page (works like TAB on PC) - currently, besides mouse, it's the only way to switch between links on page, so not so convenient,
  • Arrows - scroll web page (like arrows on PC) or navigate through bookmarks on main page,
  • Channel Up/Down - scroll full page (like PG UP/Down on PC),
  • OK - click on anchor/link or open page from bookmarks,
  • Yellow - save URL typed into input field as bookmark into selected bookmark position,
  • Blue - delete selected bookmark,


TODO

Addons

As not everything fits into single 3MB partition there are addons which have to be used on USB stick/disk.

  • extroot

Extroot is set of useful console tools package (for example - ffmpeg, jpegtran, ntfs-3g(complete), e2fsck, openvpn, curl, msdl, udpxy, tcpdump, opkg). They are usually not needed for most common usage but can extend features for anyone who has some Linux knowledge. Opkg is set for OpenWRT packages repository and (currently empty) OpenLGTV BCM repository, so to install for example Midnight Commander is enough to type:

 opkg update; opkg install mc

and you're having Midnight Commander working from USB stick/disk. To use extroot you'll have to put extroot.tar.gz file (shipped together with OpenLGTV BCM) into OpenLGTV_BCM dir on NTFS/EXT3 formated USB stick/disk partition and connect it into any of USB ports in TV - it will get extracted and used on first connection.

  • Yahoo Widgets

Yahoo Widgets are onscreen widgets which are being shown together with TV signal. To use them you'll have to download ywe.tar.gz archive (use Google search to find them) and put them as extroot in OpenLGTV_BCM dir on NTFS/EXT3 formated USB stick/disk partition. At first connection engine will get extracted and needed mounts will get done. Besides that you'll have to enable link to Yahoo Widgets (in NetCast menu) in WebUI Settings.

If you're using extroot, Yahoo Widgets anything else from USB stick/disk then ensure to use Eject option in Q-Menu before unplugging USB device to ensure data integrity. If you're having yours device always connected to TV then you shouldn't need care about that as OpenLGTV BCM (since 0.5.0-rc1) has poweroff actions which unmount and sync data before switching TV off.

Customization

TODO