A POSIX-compliant shell utility that safely reassigns USB Ethernet adapters as eth0
on rooted LG webOS 24+ TVs

This utility solves a critical issue with LG TVs where USB Ethernet adapters are assigned as eth1
instead of eth0
, causing various streaming apps to malfunction and interface problems in the TV's UI.
Created by @ohmybahgosh
Issue | Impact | Solution |
---|---|---|
Streaming app failures | Apps like Paramount+ refuse to play video when using eth1 |
Forces USB adapter to be eth0 |
UI reporting errors | TV shows "Not Connected" despite having internet | Fixes interface naming to match UI expectations |
Speed limitations | Built-in 100Mbps vs USB 2.0's 480Mbps potential | Prioritizes faster USB connection |
Compatibility issues | System features expecting eth0 specifically |
Ensures proper interface naming for all services |
- Lightweight: POSIX
/bin/sh
compatible for webOS's minimal environment - Persistent: Fully boot-persistent using webOS Homebrew's
init.d
- Simple: Comprehensive menu-driven interface for all operations
- Flexible: Easy install/uninstall/enable/disable options
- Safe: Checks if you're connected via the interface being modified
- Rooted LG TV (webOS 24+)
- SSH access to your TV
- Active Wi-Fi connection (don't use USB Ethernet during setup)
# Download the script
wget https://raw.githubusercontent.com/ohmybahgosh/LG-USB-2-ETH0/main/LG-USB-2-ETH0.sh
# Make it executable
chmod +x LG-USB-2-ETH0.sh
# Run it
sh LG-USB-2-ETH0.sh
Once running, you'll see the following options:
=== LG-USB-2-ETH0 Fixer (init.d) ===
1) Install eth0 fix
2) Uninstall eth0 fix
3) Check fix status
4) Reinstall eth0 fix
5) Disable eth0 fix
6) Re-enable eth0 fix
7) Reset all Ethernet naming
8) Exit
When installed, the script:
- Creates
/var/lib/webosbrew/init.d/S01fix-eth
- Implements the following network interface reassignment logic:
ip link set eth0 down
ip link set eth0 name eth2
ip link set eth1 down
ip link set eth1 name eth0
ip link set eth0 up
ip link set eth2 up
- Makes it executable and configured to auto-run at every boot
The script provides several management options:
- Check Status: Verify if the fix is properly installed and enabled
- Disable/Enable: Temporarily disable the fix without uninstalling
- Reset Naming: Attempt to reset interface names to their original state
- Reinstall: Perform a clean reinstallation of the fix
- Lost SSH during setup? Connect via Wi-Fi and try again
- Apps still not working? Verify the fix is running with option #3
- Need to revert? Use option #2 to uninstall or option #7 to reset naming
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
OhMyBahGosh
GitHub: @ohmybahgosh
Repository: https://github.com/ohmybahgosh/LG-USB-2-ETH0