OpenWrt Forum Archive

Topic: Q: ASUS WL-520gU: does USB 2 work yet?

The content of this topic has been archived on 22 Apr 2018. There are no obvious gaps in this topic, but there may still be some posts missing at the end.

The ASUS WL-520gU runs openWrt and has a USB port which the manufacturer claims is 2 but several users state that it only supports USB 1.1 (Jeff: http://www.mightyohm.com/blog/2008/10/b … -platform/ ).  That was from April of this year.  There have been many developments since then.  Can anyone confirm that USB 2 is available under openWrt for this device now?

lizby wrote:

Can anyone confirm that USB 2 is available under openWrt for this device now?

Can't comment on WL-520GU device. However, I have customized and compiled my own OpenWRT firmware with ONLY EHCI USB2.0 driver for my WGT634U and it has been up running off an external USB2.0 partition just fine with the EHCI USB2.0 driver.

Thanks for the response.  I have USB2 working on NSLU2s, so my question wasn't about openWrt's ability, but of the WL-520GU to deliver on its specs.

(Last edited by lizby on 20 Nov 2009, 14:11)

I have ONLY flashed my WGT634U with a self-built firmware (ONLY has EHCI driver) from the latest (bleeding edge) OpenWRT SVN trunk. As with theOpenWRT 8.09.x firmware, I believe it comes with OHCI/UHCI drivers along with EHCI driver. If both EHCI and OHCI/UHCI drivers are loaded, perhaps there is a chance the device will be served with the OHCI/UHCI drivers that support upto 11Mbps. I guess if you installed OpenWRT 8.09.x firmware without OHCI/UHCI on your WL-520GU router, perhaps its USB will be a full v2. I sure would like to know this. Can you give that a try and let us know here?

I haven't ordered the router yet, because I will be away for U.S. Thanksgiving and won't be able to test before December.  I'll try what you recommend when I get back.  I also have a use for this which doesn't require USB 2, so no loss if I am unable to get that feature to work on the first one.

Pretty sure Openwrt supports USB 2 for the 520gu now because I managed to get up to 2MB/s from USB to LAN on my 520gu. With USB 1 you can still get 1.5MB/s, so there's not a big difference between USB 1 and USB 2 speeds for this router anyway because of its weak CPU.

I use an asus wl-520 gu.
both module usb-ohci and ehci-hcd works fine for me.
some details below. as you can see ehci complains (illegal capability!), but i don't know about it.
Nevertheless it seems to be USB-2.0 for me.

Regards,

root@bibi:/proc/bus/usb# ls
001      devices  drivers
root@bibi:/proc/bus/usb# cat drivers
         usbdevfs
         hub
         usb-storage
         audio
root@bibi:/proc/bus/usb# cat devices
T:  Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=480 MxCh= 2
B:  Alloc=  0/800 us ( 0%), #Int=  0, #Iso=  0
D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=01 MxPS= 8 #Cfgs=  1
P:  Vendor=0000 ProdID=0000 Rev= 2.04
S:  Manufacturer=Linux 2.4.37.5 ehci_hcd
S:  Product=PCI device 14e4:471a
S:  SerialNumber=00:03.1
C:* #Ifs= 1 Cfg#= 1 Atr=40 MxPwr=  0mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   2 Ivl=256ms
T:  Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  2 Spd=480 MxCh= 0
D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=125f ProdID=c81a Rev= 1.00
S:  Manufacturer=A-DATA
S:  Product=A-DATA USB Flash Drive
S:  SerialNumber=2a00c6a74103d8
C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr= 98mA
I:  If#= 0 Alt= 0 #EPs= 3 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
E:  Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=125us
E:  Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=83(I) Atr=03(Int.) MxPS=  64 Ivl=16ms
root@bibi:/proc/bus/usb#
root@bibi:/proc/bus/usb# dmesg  | tail -n 30
EXT2-fs warning: mounting unchecked fs, running e2fsck is recommended
ehci_hcd 00:03.1: remove state 1
usb.c: USB disconnect on device 00:03.1-0 address 1
usb.c: USB disconnect on device 00:03.1-1 address 4
USB device disconnected from the SCSI subsystem
usb.c: USB bus 2 deregistered
SB USB20H init
SB COREREV: 2
USB20H fcr: 0x64
USB20H shim cr: 0x8f7
ehci_hcd 00:03.1: PCI device 14e4:471a
ehci_hcd 00:03.1: irq 6, pci mem b8003800
usb.c: new USB bus registered, assigned bus number 1
ehci_hcd 00:03.1: illegal capability!
ehci_hcd 00:03.1: USB 0.0 enabled, EHCI 1.00, driver 2003-Dec-29/2.4
hub.c: USB hub found
hub.c: 2 ports detected
hub.c: new USB device 00:03.1-1, assigned address 2
  Vendor: A-DATA    Model: USB Flash Drive   Rev: 0.00
  Type:   Direct-Access                      ANSI SCSI revision: 02
Attached scsi removable disk sda at scsi0, channel 0, id 0, lun 0
SCSI device sda: 7897040 512-byte hdwr sectors (4043 MB)
sda: Write Protect is off
/dev/scsi/host0/bus0/target0/lun0: p1 p2 p3
USB device connected to the SCSI subsystem
WARNING: USB Mass Storage data integrity not assured
USB Mass Storage device found at 2
EXT2-fs warning (device sd(8,1)): ext2_read_super: mounting ext3 filesystem as ext2
EXT2-fs warning: mounting unchecked fs, running e2fsck is recommended

From the Linux kernel HELP menu, here is its excerpt:

The Enhanced Host Controller Interface (EHCI) is standard for USB 2.0
"high speed" (480 Mbit/sec, 60 Mbyte/sec) host controller hardware.
If your USB host controller supports USB 2.0, you will likely want to
configure this Host Controller Driver.

EHCI controllers are packaged with "companion" host controllers (OHCI
or UHCI) to handle USB 1.1 devices connected to root hub ports.  Ports
will connect to EHCI if the device is high speed, otherwise they
connect to a companion controller.  If you configure EHCI, you should
probably configure the OHCI (for NEC and some other vendors) USB Host
Controller Driver or UHCI (for Via motherboards) Host Controller
Driver too.

You may want to read <file:Documentation/usb/ehci.txt>.

It says that the EHCI controllers is packaged with the companion OHCI/UHCI host controllers. My WGT634U runs ONLY with EHCI drivers and it works just fine with a USB2 HUB, USB2 memory sticks, etc. However, if I plug a Nokia DKU5 USB/serial console cable to my WGT634U USB port, it is not recognized even though I have the pl2303 + cypress_m8 kernels built-in into the Linux kernel. I reckon the OHCI/UHCI drivers on EHCI driver don't work. Anyone?

WL520gu doesn't recognize my usb devices.

OK, I'm forced to ask the forum.  I've flashed the WL-520gu a dozen times, and I can't get it to recognize any usb devices.  It's probably simple, but I've run out of ideas.  I'm trying to install a webcam, but have also tried usb flash and sound.

Under Ubuntu I did

svn checkout svn://svn.openwrt.org/openwrt/trunk ~/kamikaze

to a new directory, and then

make package/symlinks

which put me into menuconfig, where I made my selections, exited, and did

./scripts/feeds install mjpg-streamer

I reran menuconfig to select mjpg-streamer, and compiled.  Over and over with different selections.  In particular, I enabled kmod-usb-core, kmod-usb-video, kmod-usb2, kmod-video-core, kmod-video-uvc, and mjpg-streamer.  The Logitec Quickcam for Notebooks, a UVC webcam recognized in other openWrt configurations, is not recognized, nor are other usb devices.

The good news is that the WL-520gu is very easy to flash.  Press the reset button and powerup, and within two seconds it is trying to find a tftp server.  I used the ASUS Firmware Restoration utility, and it flashes and reboots within about a minute.  I put on a cable to an FTDI serial-to-usb cable and I can watch the process, and then access the openWrt prompt with <Enter>.

I flashed openwrt-brcm47xx-squashfs.trx -- is this the right firmware choice?

"uname -a" gives "Linux OpenWrt 2.6.30.9 #3 Thu Dec 3 17:17:24 EST 2009 mips GNU/Linux" and the openWrt splash text gives: "KAMIKAZE (bleeding edge, r18623)"

My config file and dmesg output are in the following post.

What else do I need?

(Last edited by lizby on 4 Dec 2009, 01:21)

WL520gu doesn't recognize my usb devices.

Config file with comments removed:

CONFIG_HAVE_DOT_CONFIG=y
CONFIG_TARGET_brcm47xx=y
CONFIG_TARGET_brcm47xx_Broadcom-b43=y
CONFIG_TARGET_BOARD="brcm47xx"
CONFIG_DEFAULT_TARGET_OPTIMIZATION="-Os -pipe -mips32 -mtune=mips32 -funit-at-a-

time"
CONFIG_LINUX_2_6_30=y
CONFIG_DEFAULT_base-files=y
CONFIG_DEFAULT_busybox=y
CONFIG_DEFAULT_dnsmasq=y
CONFIG_DEFAULT_dropbear=y
CONFIG_DEFAULT_firewall=y
CONFIG_DEFAULT_hostapd-mini=y
CONFIG_DEFAULT_hotplug2=y
CONFIG_DEFAULT_iptables=y
CONFIG_DEFAULT_kmod-b43=y
CONFIG_DEFAULT_kmod-b43legacy=y
CONFIG_DEFAULT_kmod-diag=y
CONFIG_DEFAULT_kmod-ipt-nathelper=y
CONFIG_DEFAULT_kmod-switch=y
CONFIG_DEFAULT_libc=y
CONFIG_DEFAULT_libgcc=y
CONFIG_DEFAULT_mtd=y
CONFIG_DEFAULT_nvram=y
CONFIG_DEFAULT_opkg=y
CONFIG_DEFAULT_ppp=y
CONFIG_DEFAULT_ppp-mod-pppoe=y
CONFIG_DEFAULT_uci=y
CONFIG_DEFAULT_ucitrigger=y
CONFIG_DEFAULT_udevtrigger=y
CONFIG_LINUX_2_6=y
CONFIG_GPIO_SUPPORT=y
CONFIG_PCI_SUPPORT=y
CONFIG_USB_SUPPORT=y
CONFIG_USES_SQUASHFS=y
CONFIG_mipsel=y
CONFIG_ARCH="mipsel"

CONFIG_TARGET_ROOTFS_SQUASHFS=y

CONFIG_OLPC_BOOTSCRIPT_ROOTPART="/dev/sda2"
CONFIG_X86_GRUB_ROOTPART="/dev/sda2"
CONFIG_X86_GRUB_BOOTOPTS=""

CONFIG_LARGEFILE=y
CONFIG_SHADOW_PASSWORDS=y
CONFIG_USE_SSTRIP=y

CONFIG_KERNEL_DEBUG_FS=y
CONFIG_DOWNLOAD_FOLDER=""
CONFIG_AUTOREBUILD=y
CONFIG_BUILD_SUFFIX=""
CONFIG_TARGET_ROOTFS_DIR=""
CONFIG_EXTERNAL_KERNEL_TREE=""
CONFIG_KERNEL_GIT_CLONE_URI=""
CONFIG_KERNEL_GIT_LOCAL_REPOSITORY=""
CONFIG_TARGET_OPTIMIZATION="-Os -pipe -mips32 -mtune=mips32 -funit-at-a-time"
CONFIG_SOFT_FLOAT=y
CONFIG_EXTRA_BINUTILS_CONFIG_OPTIONS=""
CONFIG_BINUTILS_VERSION="2.19.1"
CONFIG_GCC_VERSION_4_3_3_CS=y
CONFIG_EXTRA_GCC_CONFIG_OPTIONS=""
CONFIG_INSTALL_LIBSTDCPP=y
CONFIG_USE_UCLIBC=y
CONFIG_GCC_VERSION="4.3.3+cs"
CONFIG_GCC_VERSION_4=y
CONFIG_GCC_VERSION_4_3=y
CONFIG_UCLIBC_VERSION="0.9.30.1"
CONFIG_LIBC="uClibc"
CONFIG_LIBC_VERSION="0.9.30.1"
CONFIG_TARGET_SUFFIX="uclibc"
CONFIG_UCI_PRECONFIG=y
CONFIG_UCI_PRECONFIG_network_lan_dns="192.168.1.1"
CONFIG_UCI_PRECONFIG_network_lan_proto="static"
CONFIG_UCI_PRECONFIG_network_lan_gateway="192.168.1.1"
CONFIG_UCI_PRECONFIG_network_lan_netmask="255.255.255.0"
CONFIG_UCI_PRECONFIG_network_lan_ipaddr="192.168.1.60"

CONFIG_FEATURE_drawing-backend_DirectFB=y

CONFIG_PACKAGE_base-files=y
CONFIG_PACKAGE_busybox=y

[BUSYBOX stuff here removed]

CONFIG_PACKAGE_dropbear=y
CONFIG_PACKAGE_firewall=y
CONFIG_PACKAGE_hotplug2=y
CONFIG_PACKAGE_iptables=y
CONFIG_PACKAGE_iptables-mod-conntrack=y
CONFIG_PACKAGE_iptables-mod-nat=y
CONFIG_PACKAGE_libc=y
CONFIG_PACKAGE_libgcc=y
CONFIG_PACKAGE_libpthread=y
CONFIG_PACKAGE_librt=y
CONFIG_PACKAGE_mtd=y
CONFIG_PACKAGE_nvram=y
CONFIG_PACKAGE_opkg=y
CONFIG_PACKAGE_uci=y
CONFIG_PACKAGE_ucitrigger=y
CONFIG_PACKAGE_udevtrigger=y
CONFIG_PACKAGE_wireless-tools=y

ONFIG_PACKAGE_luci-core_source=y
CONFIG_PACKAGE_luci-nixio_axtls=y

CONFIG_PACKAGE_kmod-crypto-aes=y
CONFIG_PACKAGE_kmod-crypto-arc4=y
CONFIG_PACKAGE_kmod-crypto-core=y

CONFIG_PACKAGE_kmod-fs-ext2=y
CONFIG_PACKAGE_kmod-fs-ext3=y
CONFIG_PACKAGE_kmod-fs-mbcache=y

CONFIG_PACKAGE_kmod-ipt-core=y
CONFIG_PACKAGE_kmod-ipt-conntrack=y
CONFIG_PACKAGE_kmod-ipt-nat=y
CONFIG_PACKAGE_kmod-ipt-nathelper=y

CONFIG_PACKAGE_kmod-ppp=y
CONFIG_PACKAGE_kmod-pppoe=y

CONFIG_PACKAGE_kmod-crc-ccitt=y
CONFIG_PACKAGE_kmod-diag=y
CONFIG_PACKAGE_kmod-switch=y

CONFIG_PACKAGE_kmod-usb-core=y
CONFIG_PACKAGE_kmod-usb-video=y
CONFIG_PACKAGE_kmod-usb2=y

CONFIG_PACKAGE_kmod-video-core=y
CONFIG_PACKAGE_kmod-video-uvc=y

CONFIG_PACKAGE_kmod-mac80211=y

CONFIG_PACKAGE_ntpclient=y

CONFIG_PACKAGE_hostapd-mini=y
CONFIG_PACKAGE_iw=y
CONFIG_PACKAGE_ppp=y
CONFIG_PACKAGE_ppp-mod-pppoe=y
CONFIG_PACKAGE_wget-nossl=y

CONFIG_PACKAGE_libiptc=y
CONFIG_PACKAGE_libjpeg=y
CONFIG_PACKAGE_liblua=y
CONFIG_PACKAGE_libnl-tiny=y
CONFIG_PACKAGE_libuci=y
CONFIG_PACKAGE_libuci-lua=y
CONFIG_PACKAGE_libusb=y
CONFIG_PACKAGE_libxtables=y
CONFIG_PACKAGE_zlib=y

CONFIG_PACKAGE_mjpg-streamer=y

CONFIG_KEXEC_TOOLS_TARGET_NAME="mipsel"
CONFIG_PACKAGE_usbutils=y

CONFIG_PACKAGE_lua=y

dmesg output

Linux version 2.6.30.9 (lance@Ubun1) (gcc version 4.3.3 (GCC) ) #3 Thu Dec 3 

17:17:24 EST 2009
CPU revision is: 00029029 (Broadcom BCM3302)
ssb: Core 0 found: ChipCommon (cc 0x800, rev 0x14, vendor 0x4243)
ssb: Core 1 found: Fast Ethernet (cc 0x806, rev 0x09, vendor 0x4243)
ssb: Core 2 found: MIPS 3302 (cc 0x816, rev 0x08, vendor 0x4243)
ssb: Core 3 found: USB 2.0 Host (cc 0x819, rev 0x02, vendor 0x4243)
ssb: Core 4 found: MEMC SDRAM (cc 0x80F, rev 0x04, vendor 0x4243)
ssb: Core 5 found: IEEE 802.11 (cc 0x812, rev 0x0D, vendor 0x4243)
ssb: Core 6 found: Roboswitch (cc 0x81C, rev 0x02, vendor 0x4243)
ssb: Found rev 0 PMU (capabilities 0x04A63400)
ssb: Initializing MIPS core...
ssb: core 0x0800, irq : 2(S)  3* 4  5  6  D  I
ssb: core 0x0806, irq : 2(S)  3  4* 5  6  D  I
ssb: core 0x0816, irq : 2(S)  3  4  5* 6  D  I
ssb: core 0x0819, irq : 2(S)  3  4  5  6* D  I
ssb: core 0x080f, irq : 2(S)  3  4  5  6  D  I*
ssb: core 0x0812, irq : 2(S)* 3  4  5  6  D  I
ssb: core 0x081c, irq : 2(S)  3  4  5  6  D  I*
ssb: set_irq: core 0x0806, irq 4 => 4
ssb: set_irq: core 0x0816, irq 5 => 2
ssb: set_irq: core 0x0812, irq 2 => 5
ssb: after irq reconfiguration
ssb: core 0x0800, irq : 2(S)  3* 4  5  6  D  I
ssb: core 0x0806, irq : 2(S)  3  4* 5  6  D  I
ssb: core 0x0816, irq : 2(S)* 3  4  5  6  D  I
ssb: core 0x0819, irq : 2(S)  3  4  5  6* D  I
ssb: core 0x080f, irq : 2(S)  3  4  5  6  D  I*
ssb: core 0x0812, irq : 2(S)  3  4  5* 6  D  I
ssb: core 0x081c, irq : 2(S)  3  4  5  6  D  I*
ssb: Sonics Silicon Backplane found at address 0x18000000
Serial init done.
Determined physical RAM map:
 memory: 01000000 @ 00000000 (usable)
Initrd not found or empty - disabling initrd
Zone PFN ranges:
  Normal   0x00000000 -> 0x00001000
Movable zone start PFN for each node
early_node_map[1] active PFN ranges
    0: 0x00000000 -> 0x00001000
On node 0 totalpages: 4096
free_area_init_node: node 0, pgdat 8027b680, node_mem_map 802bd000
  Normal zone: 32 pages used for memmap
  Normal zone: 0 pages reserved
  Normal zone: 4064 pages, LIFO batch:0
Built 1 zonelists in Zone order, mobility grouping off.  Total pages: 4064
Kernel command line: root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd 

console=ttyS0,115200
Primary instruction cache 16kB, VIPT, 4-way, linesize 16 bytes.
Primary data cache 16kB, 2-way, VIPT, cache aliases, linesize 16 bytes
NR_IRQS:128
PID hash table entries: 64 (order: 6, 256 bytes)
console [ttyS0] enabled
Dentry cache hash table entries: 2048 (order: 1, 8192 bytes)
Inode-cache hash table entries: 1024 (order: 0, 4096 bytes)
Memory: 13436k/16384k available (2144k kernel code, 2948k reserved, 396k data, 

128k init, 0k highmem)
Calibrating delay loop... 239.61 BogoMIPS (lpj=479232)
Mount-cache hash table entries: 512
net_namespace: 528 bytes
NET: Registered protocol family 16
bio: create slab <bio-0> at 0
Switched to high resolution mode on CPU 0
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 512 (order: 0, 4096 bytes)
TCP bind hash table entries: 512 (order: -1, 2048 bytes)
TCP: Hash tables configured (established 512 bind 512)
TCP reno registered
NET: Registered protocol family 1
squashfs: version 4.0 (2009/01/31) Phillip Lougher
Registering mini_fo version $Id$
JFFS2 version 2.2. (NAND) (SUMMARY)  © 2001-2006 Red Hat, Inc.
msgmni has been set to 26
alg: No test for stdrng (krng)
io scheduler noop registered
io scheduler deadline registered (default)
Serial: 8250/16550 driver, 2 ports, IRQ sharing enabled
serial8250: ttyS0 at MMIO 0xb8000300 (irq = 3) is a 16550A
serial8250: ttyS1 at MMIO 0xb8000400 (irq = 3) is a 16550A
serial8250.0: ttyS0 at MMIO 0xb8000300 (irq = 3) is a 16550A
serial8250.0: ttyS1 at MMIO 0xb8000400 (irq = 3) is a 16550A
b44.c:v2.0
eth0: Broadcom 44xx/47xx 10/100BaseT Ethernet 90:e6:ba:34:d7:4b
flash init: 0x1c000000 0x02000000
Physically mapped flash: Found 1 x16 devices at 0x0 in 16-bit bank
Physically mapped flash: Found an alias at 0x400000 for the chip at 0x0
Physically mapped flash: Found an alias at 0x800000 for the chip at 0x0
Physically mapped flash: Found an alias at 0xc00000 for the chip at 0x0
Physically mapped flash: Found an alias at 0x1000000 for the chip at 0x0
Physically mapped flash: Found an alias at 0x1400000 for the chip at 0x0
Physically mapped flash: Found an alias at 0x1800000 for the chip at 0x0
Physically mapped flash: Found an alias at 0x1c00000 for the chip at 0x0
 Amd/Fujitsu Extended Query Table at 0x0040
number of CFI chips: 1
cfi_cmdset_0002: Disabling erase-suspend-program due to code brokenness.
Flash device: 0x400000 at 0x1fc00000
bootloader size: 131072
Updating TRX offsets and length:
old trx = [0x0000001c, 0x00000974, 0x000d1c00], len=0x002e1000 crc32=0xffb1089b
new trx = [0x0000001c, 0x00000974, 0x000d1c00], len=0x000d1c00 crc32=0x2005fa37
Done
Creating 4 MTD partitions on "Physically mapped flash":
0x000000000000-0x000000020000 : "cfe"
0x000000020000-0x0000003f0000 : "linux"
0x0000000f1c00-0x0000003f0000 : "rootfs"
mtd: partition "rootfs" must either start or end on erase block boundary or be 

smaller than an erase block -- forcing read-only
mtd: partition "rootfs" set to be root filesystem
mtd: partition "rootfs_data" created automatically, ofs=2E0000, len=110000
0x0000002e0000-0x0000003f0000 : "rootfs_data"
0x0000003f0000-0x000000400000 : "nvram"
BCM47xx Watchdog Timer enabled (30 seconds, nowayout)
TCP westwood registered
NET: Registered protocol family 17
802.1Q VLAN Support v1.8 Ben Greear <greearb@candelatech.com>
All bugs added by David S. Miller <davem@redhat.com>
VFS: Mounted root (squashfs filesystem) readonly on device 31:2.
Freeing unused kernel memory: 128k freed
Please be patient, while OpenWrt loads ...
diag: Detected 'ASUS WL-520gU'
b44: eth0: Link is up at 100 Mbps, full duplex.
b44: eth0: Flow control is off for TX and off for RX.
roboswitch: Probing device eth0: found a 5325! It's a 5350.
b44: eth0: powering down PHY
mini_fo: using base directory: /
mini_fo: using storage directory: /tmp/root
b44: eth0: Link is up at 100 Mbps, full duplex.
b44: eth0: Flow control is off for TX and off for RX.
device eth0.0 entered promiscuous mode
device eth0 entered promiscuous mode
br-lan: port 1(eth0.0) entering forwarding state
cfg80211: Using static regulatory domain info
cfg80211: Regulatory domain: US
        (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
        (2402000 KHz - 2472000 KHz @ 40000 KHz), (600 mBi, 2700 mBm)
        (5170000 KHz - 5190000 KHz @ 40000 KHz), (600 mBi, 2300 mBm)
        (5190000 KHz - 5210000 KHz @ 40000 KHz), (600 mBi, 2300 mBm)
        (5210000 KHz - 5230000 KHz @ 40000 KHz), (600 mBi, 2300 mBm)
        (5230000 KHz - 5330000 KHz @ 40000 KHz), (600 mBi, 2300 mBm)
        (5735000 KHz - 5835000 KHz @ 40000 KHz), (600 mBi, 3000 mBm)
cfg80211: Calling CRDA for country: US
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
PPP generic driver version 2.4.2
ip_tables: (C) 2000-2006 Netfilter Core Team
NET: Registered protocol family 24
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
nf_conntrack version 0.5.0 (256 buckets, 1024 max)
Linux video capture interface: v2.00
usbcore: registered new interface driver uvcvideo
USB Video Class driver (v0.1.0)
jffs2_scan_eraseblock(): End of filesystem marker found at 0x0
jffs2_build_filesystem(): unlocking the mtd device... done.
jffs2_build_filesystem(): erasing all blocks after the end marker... done.
mini_fo: using base directory:

lsmod is as follows:

root@OpenWrt:/# lsmod
Module                  Size  Used by    Not tainted
uvcvideo               51488  0
v4l2_common             8816  0
videodev               30320  1 uvcvideo
v4l1_compat            12704  2 uvcvideo,videodev
nf_nat_tftp              432  0
nf_conntrack_tftp       2400  1 nf_nat_tftp
nf_nat_irc               880  0
nf_conntrack_irc        2608  1 nf_nat_irc
nf_nat_ftp              1360  0
nf_conntrack_ftp        4976  1 nf_nat_ftp
ipt_MASQUERADE          1072  1
iptable_nat             2272  1
nf_nat                 11792  5 nf_nat_tftp,nf_nat_irc,nf_nat_ftp,ipt_MASQUERADE,iptable_nat
xt_NOTRACK               672  0
iptable_raw              640  1
xt_state                 800  3
nf_conntrack_ipv4       8096  6 iptable_nat,nf_nat
nf_defrag_ipv4           608  1 nf_conntrack_ipv4
nf_conntrack           41664 12 nf_nat_tftp,nf_conntrack_tftp,nf_nat_irc,nf_conntrack_irc,nf_nat_ftp,nf_conntrack_ftp,ipt_MASQUERADE,iptable_nat,nf_nat,xt_NOTRACK,xt_state,nf_conntrack_ipv4
ehci_hcd               32464  0
pppoe                   9744  0
pppox                   1312  1 pppoe
ipt_REJECT              1984  2
xt_TCPMSS               1952  1
ipt_LOG                 4640  0
xt_multiport            1904  0
xt_mac                   576  0
xt_limit                1152  1
iptable_mangle           992  0
iptable_filter           768  1
ip_tables               8224  4 iptable_nat,iptable_raw,iptable_mangle,iptable_filter
xt_tcpudp               1856  4
x_tables                9248 12 ipt_MASQUERADE,iptable_nat,xt_NOTRACK,xt_state,ipt_REJECT,xt_TCPMSS,ipt_LOG,xt_multiport,xt_mac,xt_limit,ip_tables,xt_tcpudp
ext2                   43488  0
ext3                   94880  0
jbd                    43536  1 ext3
ppp_async               9024  0
ppp_generic            21072  3 pppoe,pppox,ppp_async
slhc                    5088  1 ppp_generic
usbcore               103120  3 uvcvideo,ehci_hcd
mac80211              152832  0
cfg80211              114352  1 mac80211
crc_ccitt                976  1 ppp_async
arc4                     816  0
aes_generic            30896  0
deflate                 1344  0
ecb                     1312  0
cbc                     2000  0
switch_robo             4032  0
switch_core             5104  1 switch_robo
diag                    7312  0

lizby,

There is only one usb core and the ohci driver initializes it. If compiling for this config, selecting usb2 should also select ohci. However, it doesn't seem to. I'll try to see why.

In the meantime, you will need to select both usb2 and ohci.

(Last edited by sbrown on 4 Dec 2009, 16:05)

So simple.  Thank you very much, sbrown.  Webcam was identified, usb storage was identified, usb sound device was identified.  With this compile, 884K remains for storage on this 4 meg device.

Now to see why the webcam doesn't work.  I put the device id in /etc/modules.d/90-video-uvc.  The directory, /webcam_www doesn't seem to have been set up for mjpg_streamer, and that program exits with "init VideoIn failed".  But progress--thanks again.

Webcam now working.  I reflashed a version of trunk without mjpg-streamer, and installed it with opkg to see if that created the directory "/webcam_www", but it did not.  I checked my NSLU2, on which the webcam was working, and saw that the files in that directory were not compiled, but were html, java, and the like, so I used scp to copy the directory from the NSLU2 to my laptop and then to the WL-520gu. 

After a reboot, the webcam works--a Logitec Quickcam Deluxe for Notebooks.  I tried another UVC webcam, the Rosewill RCM-3201V ($25US from Newegg), and that worked as well. 

An ebay "UVC" camera failed with the following:

i: Format............: MJPEG
Unable to set format: Invalid argument
Init v4L2 failed !! exit fatal
i: init_VideoIn failed

I won't spend more than a small amount of time trying to figure out a way to make it work--too bad, it was only $13.

(Last edited by lizby on 5 Dec 2009, 03:29)

The ebay uvc camera mentioned in the last post (http://cgi.ebay.com/USB-5M-WEBCAM-Camer … 2ea944c1a0) streams, jerkily, with the following command:  mjpg_streamer -i "input_uvc.so -d /dev/video0 -y -r 640x480" -o "output_http.so -p 8080 -w /webcam_www"&

The "-y" option is what made it work; the camera doesn't perform MJPEG2 encoding.  A pretty low-grade camera for streaming, but better than the Quickcam Deluxe for Notebooks for snapshots.

The discussion might have continued from here.