Feature #65
closedAdd USB eth support
Added by Hammel almost 14 years ago. Updated over 12 years ago.
100%
Description
Enable as many USB ethernet driver modules as possible and place on rootfs as loadable modules. Try to configure the TP-Link TL-WN821N which is what I have available.
Related issues
Updated by Hammel almost 14 years ago
Firmware for TP-Link TL-WN821n (as defined by kernel menuconfig) can be found here:
http://wireless.kernel.org/en/users/Drivers/ar9170
Configuring the kernel with the appropriate driver works but the driver fails to run because it can't find the firmware files.
Updated by Hammel over 13 years ago
The 2.6.32 kernel has wireless enabled as a module and the Atheros module is not enabled at all. Will need to enable it and get its firmware, which means this issue is now dependent on FS#84 and FS#78.
Updated by Hammel over 13 years ago
Enabled Atheros module in default (arago) kernel build.
Updated by Hammel over 13 years ago
Kernel-based firmware has been added to the rootfs. The atheros firmware is not in the kernel firmware so I downloaded it manually and added it to the tree (appears to have a license that permits this). Then I integrated that into the build. So the driver and firmware for the TP-Link TL-WN821n should be available now.
Next step is to autoload the driver and make sure the firmware can be located at boot time. Not sure how the latter works - might have to pass the directory as an argument to the driver or similar.
Updated by Hammel over 13 years ago
After integrating Buildroot 2011.02 into the build the firmware for the atheros driver is not in the rootfs. It appears the integration with the kernel build is not complete. I need to see why src/kernel/firmware is not included in the build.
Updated by Hammel over 12 years ago
On the reboot of BeagleBox, the driver is in the mainline kernel, which includes help text pointing to where to get the firmware.
The driver (CONFIG_CARL9170) needs to be enabled in the kernel config and the firmware download process verified.
Updated by Hammel over 12 years ago
In order to see if the TL-WN821n is visible I need to use lsusb, but the version in Busybox is a bit limited.
To enable the full version in Buildroot requires an additional change to uClibc: enable "Support for program_invocation_name", under General Library Settings.
Before doing this I think its time to add uClibc configuration to the build, similar to the busybox targets.
Updated by Hammel over 12 years ago
- % Done changed from 30 to 50
A large collection of USB wireless modules have been added to the kernel build and installed in the rootfs.
lsusb is now pulled from buildroot, after updating xcc to use a uClibc that supports it properly. This also meant enabling IPV6 in both the cross toolchain and rootfs builds. A uClibc component build has been added to support easier updates to the C library for the xcc component.
The TL-WN821n is now seen by the USB subsystem but the firmware is missing so the driver isn't working yet.
Updated by Hammel over 12 years ago
The firmware is now included in src/kernel/firmware/atheros. It has not been tested.
Updated by Hammel over 12 years ago
The firmware is stored in src/kernel/firmware/atheros, but the atheros subdirectory doesn't work in the runtime. The firmware file needs to be in /lib/firmware instead of /lib/firmware/atheros.
I fixed this manually in the rootfs on the SD card and the device is now seen when the driver is loaded manually (modprobe carl9170).
I've moved the firmware file in the source tree and deleted the other (unused) atheros firmware.
This issue can be closed. If NetworkManager can't properly configure the device then we'll add new issues to get it working manually or through init scripts.
Updated by Hammel over 12 years ago
- Status changed from In Progress to Closed
- % Done changed from 50 to 100