# TinyCore Wi-Fi Recovery and Network Bring-Up ## Overview TinyCore Linux is deliberately small, but its small userland can still handle surprisingly practical network recovery tasks. One particularly useful combination is: ```text BusyBox + udhcpc + USB tethering ``` This can provide a temporary network connection even when the machine's own wireless hardware is not working. This makes it possible to obtain a required driver or package using nothing more than: ```text TinyCore machine + Android phone + USB cable ``` The procedure described below has been tested across multiple TinyCore-based environments and is particularly useful on older hardware where the installed wireless driver does not match the adapter. --- # Part I: Recovering Wi-Fi with the `wl` Driver ## 1. Inspect the Currently Loaded Wireless Modules Start by checking the 802.11-related modules: ```bash lsmod | grep 80211 ``` A problematic Broadcom configuration may show modules such as: ```text mac80211 b43 cfg80211 ``` Additional Broadcom support modules may also be present, depending on the hardware and kernel. Before replacing the driver, identify what is actually loaded: ```bash lsmod | grep -E 'b43|ssb|bcma|brcmsmac|brcmfmac|wl|mac80211|cfg80211' ``` This is preferable to unloading modules blindly. --- ## 2. Remove the Conflicting Driver If the installed adapter is intended to use the proprietary Broadcom `wl` driver, unload the conflicting modules first: ```bash sudo modprobe -r b43 mac80211 cfg80211 ``` If the kernel reports that a module is still in use, inspect the dependency chain with: ```bash lsmod ``` and remove dependent modules only when appropriate. The important point is that `wl` should not be competing with another driver for the same hardware. --- ## 3. Load `wl` The `wl` package must already be available locally. In TinyCore this can be loaded through AppBrowser, for example using the local-loading mechanism. Once the module is available: ```bash sudo modprobe wl ``` Verify that it loaded: ```bash lsmod | grep wl ``` A successful result should contain: ```text wl ``` --- ## 4. Check the Network Interface Inspect the available interfaces: ```bash ifconfig -a ``` and: ```bash ip link ``` For wireless hardware, also try: ```bash iwconfig ``` Depending on the driver and the TinyCore environment, the interface may appear as: ```text eth1 ``` rather than the more familiar: ```text wlan0 ``` For example: ```text eth1 IEEE 802.11 ESSID:off/any Mode:Managed ``` The interface name should always be confirmed on the actual machine rather than assumed. --- ## 5. Bring the Interface Up If the interface exists but is down: ```bash sudo ifconfig eth1 up ``` or: ```bash sudo ip link set eth1 up ``` Check again: ```bash ip link ``` At this stage the kernel should have a working network interface. The interface still needs to associate with an access point and obtain an IP address before normal network access is available. --- # Part II: Preventing the Old Driver from Returning If `wl` works correctly, the older Broadcom modules can be blacklisted. Create the modprobe configuration directory if necessary: ```bash sudo mkdir -p /etc/modprobe.d ``` Create the blacklist: ```bash cat <