Project

General

Profile

Actions

Feature #65

closed

Add USB eth support

Added by Hammel over 13 years ago. Updated almost 12 years ago.

Status:
Closed
Priority:
Urgent
Assignee:
Category:
linux kernel
Target version:
Start date:
12 Dec 2010
Due date:
% Done:

100%

Estimated time:
Severity:
High

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

Related to BeagleBox - Testing #72: Default usb eth is TP-Link WN821N - add firmware to rootfsClosedHammel31 Dec 2010

Actions
Blocked by BeagleBox - Feature #78: Need process for handling kernel modules at boot timeClosedHammel28 Feb 2011

Actions
Blocked by BeagleBox - Feature #84: Add firmware retrieval mechanismClosedHammel28 Feb 2011

Actions
Actions #1

Updated by Hammel over 13 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.

Actions #2

Updated by Hammel about 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.

Actions #3

Updated by Hammel about 13 years ago

Enabled Atheros module in default (arago) kernel build.

Actions #4

Updated by Hammel about 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.

Actions #5

Updated by Hammel about 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.

Actions #6

Updated by Hammel about 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.

Actions #7

Updated by Hammel about 12 years ago

  • Priority changed from Normal to Urgent
Actions #8

Updated by Hammel about 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.

Actions #9

Updated by Hammel about 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.

Actions #10

Updated by Hammel almost 12 years ago

The firmware is now included in src/kernel/firmware/atheros. It has not been tested.

Actions #11

Updated by Hammel almost 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.

Actions #12

Updated by Hammel almost 12 years ago

  • Status changed from In Progress to Closed
  • % Done changed from 50 to 100
Actions

Also available in: Atom PDF