1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Tomato ND USB Mod

Discussion in 'Tomato Firmware' started by teddy_bear, Dec 17, 2008.

  1. teddy_bear

    teddy_bear Network Guru Member

    Geez - that's a bad default ;(... Thanks for catching it!
     
  2. teddy_bear

    teddy_bear Network Guru Member

    New update (build 17)

    Since build 16 was unannounced, here're the changes after v15:
    • Fixed error connecting to the FTP server when directory listings are disabled.
    • Fixed support for mounting loopback devices. The loop device module loop.o is not included but available separately (download it from the same link in the 1st post as firmware binaries), and can be loaded with insmod command.
    • Added option to automatically share all mounted USB partitions.
    New in build 17:
    • Applied patch to resolve read errors on spin-up with some auto spin-down USB drives. Patch found on Asus forums, and is completely untested as of now.
    • MiniUPnPd daemon updated to the latest version 20090129. Fixed UPnP presentation URL when non-standard http port is used.
    • Fixed LEDs/buttons/GPIO bug introduced with WL driver update (the bug only affected some router models).
    • Code clean up, minor fixes, cosmetics.
    Links to the firmware binaries and the git repository with sources are in the 1st post. The complete sources can also be downloaded as a git snapshot in tar format.

    EDIT: Build 17 has been pulled off because of a problem with IPP2P, and replaced by build 18.
     
  3. eRd12

    eRd12 Addicted to LI Member

    Hi teddy_bear! I would like to report a bug with routing in v.17.
    I have no Internet on my laptop after flashing. I am using DHCP wan connection and it looks like that:

    ping to website from router gui works fine
    ping from laptop to router is ok
    ping from laptop to website is not working

    On v.16 it is fine.
     
  4. dadaniel

    dadaniel Network Guru Member

    Please post or attach the logfile, without that nothing can be done....
     
  5. eRd12

    eRd12 Addicted to LI Member

    This is log on v.16
    Code:
    Jan  1 01:00:07 unknown syslog.info syslogd started: BusyBox v1.12.3
    Jan  1 01:00:07 unknown user.notice kernel: klogd started: BusyBox v1.12.3 (2009-01-31 02:07:31 EST)
    Jan  1 01:00:07 unknown user.warn kernel: CPU revision is: 00029029
    Jan  1 01:00:07 unknown user.warn kernel: Primary instruction cache 16kb, linesize 16 bytes (4 ways)
    Jan  1 01:00:07 unknown user.warn kernel: Primary data cache 16kb, linesize 16 bytes (2 ways)
    Jan  1 01:00:07 unknown user.warn kernel: Linux version 2.4.20 (root@tomato) (gcc version 3.2.3 with Broadcom modifications) #4 Sat Jan 31 02:50:59 EST 2009
    Jan  1 01:00:07 unknown user.warn kernel: Setting the PFC to its default value
    Jan  1 01:00:07 unknown user.warn kernel: Determined physical RAM map:
    Jan  1 01:00:07 unknown user.warn kernel:  memory: 02000000 @ 00000000 (usable)
    Jan  1 01:00:07 unknown user.warn kernel: On node 0 totalpages: 8192
    Jan  1 01:00:07 unknown user.warn kernel: zone(0): 8192 pages.
    Jan  1 01:00:07 unknown user.warn kernel: zone(1): 0 pages.
    Jan  1 01:00:07 unknown user.warn kernel: zone(2): 0 pages.
    Jan  1 01:00:07 unknown user.warn kernel: Kernel command line: root=/dev/mtdblock2 noinitrd console=ttyS0,115200
    Jan  1 01:00:07 unknown user.warn kernel: CPU: BCM5354 rev 2 at 240 MHz
    Jan  1 01:00:07 unknown user.warn kernel: Calibrating delay loop... 237.56 BogoMIPS
    Jan  1 01:00:07 unknown user.info kernel: Memory: 30588k/32768k available (1414k kernel code, 2180k reserved, 108k data, 64k init, 0k highmem)
    Jan  1 01:00:07 unknown user.info kernel: Dentry cache hash table entries: 4096 (order: 3, 32768 bytes)
    Jan  1 01:00:07 unknown user.info kernel: Inode cache hash table entries: 2048 (order: 2, 16384 bytes)
    Jan  1 01:00:07 unknown user.warn kernel: Mount-cache hash table entries: 512 (order: 0, 4096 bytes)
    Jan  1 01:00:07 unknown user.warn kernel: Buffer-cache hash table entries: 1024 (order: 0, 4096 bytes)
    Jan  1 01:00:07 unknown user.warn kernel: Page-cache hash table entries: 8192 
    Jan  1 01:00:07 unknown user.info kernel: (order: 3, 32768 bytes)
    Jan  1 01:00:07 unknown user.warn kernel: Checking for 'wait' instruction...  unavailable.
    Jan  1 01:00:07 unknown user.warn kernel: POSIX conformance testing by UNIFIX
    Jan  1 01:00:07 unknown user.warn kernel: PCI: no core
    Jan  1 01:00:07 unknown user.warn kernel: PCI: Fixing up bus 0
    Jan  1 01:00:07 unknown user.info kernel: Linux NET4.0 for Linux 2.4
    Jan  1 01:00:07 unknown user.info kernel: Based upon Swansea University Computer Society NET3.039
    Jan  1 01:00:07 unknown user.warn kernel: Initializing RT netlink socket
    Jan  1 01:00:07 unknown user.warn kernel: Starting kswapd
    Jan  1 01:00:07 unknown user.info kernel: devfs: v1.12c (20020818) Richard Gooch (rgooch@atnf.csiro.au)
    Jan  1 01:00:07 unknown user.info kernel: devfs: boot_options: 0x1
    Jan  1 01:00:07 unknown user.info kernel: squashfs: version 3.0 (2006/03/15) Phillip Lougher
    Jan  1 01:00:07 unknown user.warn kernel: pty: 256 Unix98 ptys configured
    Jan  1 01:00:07 unknown user.info kernel: Serial driver version 5.05c (2001-07-08) with MANY_PORTS SHARE_IRQ SERIAL_PCI enabled
    Jan  1 01:00:07 unknown user.info kernel: ttyS00 at 0xb8000300 (irq = 3) is a 16550A
    Jan  1 01:00:07 unknown user.info kernel: ttyS01 at 0xb8000400 (irq = 0) is a 16550A
    Jan  1 01:00:07 unknown user.warn kernel: HDLC line discipline: version $Revision: 1.1.1.4 $, maxframe=4096
    Jan  1 01:00:07 unknown user.info kernel: N_HDLC line discipline registered.
    Jan  1 01:00:07 unknown user.info kernel: PPP generic driver version 2.4.2
    Jan  1 01:00:07 unknown user.debug kernel: Physically mapped flash: Found an alias at 0x800000 for the chip at 0x0
    Jan  1 01:00:07 unknown user.debug kernel: Physically mapped flash: Found an alias at 0x1000000 for the chip at 0x0
    Jan  1 01:00:07 unknown user.debug kernel: Physically mapped flash: Found an alias at 0x1800000 for the chip 
    Jan  1 01:00:07 unknown user.info kernel: at 0x0
    Jan  1 01:00:07 unknown user.notice kernel:  Amd/Fujitsu Extended Query Table v1.1 at 0x0040
    Jan  1 01:00:07 unknown user.notice kernel: number of CFI chips: 1
    Jan  1 01:00:07 unknown user.notice kernel: Flash device: 0x800000 at 0x1c000000
    Jan  1 01:00:07 unknown user.notice kernel: Creating 5 MTD partitions on "Physically mapped flash":
    Jan  1 01:00:07 unknown user.notice kernel: 0x00000000-0x00020000 : "pmon"
    Jan  1 01:00:07 unknown user.notice kernel: 0x00020000-0x007f0000 : "linux"
    Jan  1 01:00:07 unknown user.notice kernel: 0x000cc0d0-0x003b0000 : "rootfs"
    Jan  1 01:00:07 unknown user.notice kernel: 0x003b0000-0x007f0000 : "jffs2"
    Jan  1 01:00:07 unknown user.notice kernel: 0x007f0000-0x00800000 : "nvram"
    Jan  1 01:00:07 unknown user.err kernel: sflash: found no supported devices
    Jan  1 01:00:07 unknown user.info kernel: NET4: Linux TCP/IP 1.0 for NET4.0
    Jan  1 01:00:07 unknown user.info kernel: IP Protocols: ICMP, UDP, TCP, IGMP
    Jan  1 01:00:07 unknown user.info kernel: IP: routing cache hash table of 16384 buckets, 128Kbytes
    Jan  1 01:00:07 unknown user.info kernel: TCP: Hash tables configured (established 2048 bind 4096)
    Jan  1 01:00:07 unknown user.info kernel: Linux IP multicast router 0.06 plus PIM-SM
    Jan  1 01:00:07 unknown user.warn kernel: ip_conntrack version 2.1 (16384 buckets, 8192 max) - 368 bytes per conntrack
    Jan  1 01:00:07 unknown user.warn kernel: ip_tables: (C) 2000-2002 Netfilter core team
    Jan  1 01:00:07 unknown user.info kernel: NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
    Jan  1 01:00:07 unknown user.info kernel: NET4: Ethernet Bridge 008 for NET4.0
    Jan  1 01:00:07 unknown user.alert kernel: 802.1Q VLAN Support v1.7 Ben Greear <greearb@candelatech.com>
    Jan  1 01:00:07 unknown user.alert kernel: All bugs added by David S. Miller <davem@redhat.com>
    Jan  1 01:00:07 unknown user.warn kernel: VFS: Mounted root (squashfs filesystem
    Jan  1 01:00:07 unknown user.info kernel: ) readonly.
    Jan  1 01:00:07 unknown user.info kernel: Mounted devfs on /dev
    Jan  1 01:00:07 unknown user.info kernel: Freeing unused kernel memory: 64k freed
    Jan  1 01:00:07 unknown user.warn kernel: Algorithmics/MIPS FPU Emulator v1.5
    Jan  1 01:00:07 unknown user.warn kernel: ip_conntrack_pptp version 1.9 loaded
    Jan  1 01:00:07 unknown user.warn kernel: ip_nat_pptp version 1.5 loaded
    Jan  1 01:00:07 unknown user.warn kernel: ip_conntrack_rtsp v0.01 loading
    Jan  1 01:00:07 unknown user.warn kernel: ip_nat_rtsp v0.01 loading
    Jan  1 01:00:07 unknown user.warn kernel: eth0: Broadcom BCM47xx 10/100 Mbps Ethernet Controller 4.150.10.5
    Jan  1 01:00:07 unknown user.warn kernel: eth1: Broadcom BCM4318 802.11 Wireless Controller 4.150.10.5
    Jan  1 01:00:07 unknown user.warn kernel: tomato_ct.c [Jan 31 2009 02:20:26]
    Jan  1 01:00:07 unknown user.info kernel: usb.c: registered new driver usbdevfs
    Jan  1 01:00:07 unknown user.info kernel: usb.c: registered new driver hub
    Jan  1 01:00:07 unknown user.warn kernel: USB20H fcr: 0x64
    Jan  1 01:00:07 unknown user.warn kernel: USB20H shim cr: 0x8f7
    Jan  1 01:00:07 unknown user.warn kernel: USB20H syn01 register : 0xfe00fe
    Jan  1 01:00:07 unknown user.warn kernel: USB20H syn03 register : 0x1
    Jan  1 01:00:07 unknown user.info kernel: ehci_hcd 00:03.1: PCI device 14e4:471a
    Jan  1 01:00:07 unknown user.info kernel: ehci_hcd 00:03.1: irq 6, pci mem b8003800
    Jan  1 01:00:07 unknown user.info kernel: usb.c: new USB bus registered, assigned bus number 1
    Jan  1 01:00:07 unknown user.warn kernel: ehci_hcd 00:03.1: illegal capability!
    Jan  1 01:00:07 unknown user.warn kernel: PCI: 00:03.1 PCI cache line size set incorrectly (0 bytes) by BIOS/FW, correcting to 32
    Jan  1 01:00:07 unknown user.info kernel: ehci_hcd 00:03.1: USB 0.0 enabled, EHCI 1.00, driver 2003-Dec-29/2.4
    Jan  1 01:00:07 unknown user.info kernel: hub.c: USB hub found
    Jan  1 01:00:07 unknown user.info kernel: hub.c: 2 ports detected
    Jan  1 01:00:07 unknown user.info kernel: usb.c
    Jan  1 01:00:07 unknown user.info kernel: : registered new driver usblp
    Jan  1 01:00:07 unknown user.info kernel: printer.c: v0.13: USB Printer Device Class driver
    Jan  1 01:00:07 unknown user.info kernel: hub.c: new USB device 00:03.1-1, assigned address 2
    Jan  1 01:00:07 unknown user.info kernel: hub.c: USB hub found
    Jan  1 01:00:07 unknown user.info kernel: hub.c: 2 ports detected
    Jan  1 01:00:07 unknown user.info kernel: vlan0: dev_set_promiscuity(master, 1)
    Jan  1 01:00:07 unknown user.info kernel: device eth0 entered promiscuous mode
    Jan  1 01:00:07 unknown user.info kernel: device vlan0 entered promiscuous mode
    Jan  1 01:00:07 unknown user.info kernel: device eth1 entered promiscuous mode
    Jan  1 01:00:07 unknown user.info kernel: br0: port 2(eth1) entering learning state
    Jan  1 01:00:07 unknown user.info kernel: br0: port 1(vlan0) entering learning state
    Jan  1 01:00:07 unknown user.info kernel: br0: port 2(eth1) entering forwarding state
    Jan  1 01:00:07 unknown user.info kernel: br0: topology change detected, propagating
    Jan  1 01:00:07 unknown user.info kernel: br0: port 1(vlan0) entering forwarding state
    Jan  1 01:00:07 unknown user.info kernel: br0: topology change detected, propagating
    Jan  1 01:00:07 unknown user.warn kernel: vlan1: Setting MAC address to  wan_mac.
    Jan  1 01:00:07 unknown user.info kernel: vlan1: add 01:00:5e:00:00:01 mcast address to master interface
    Jan  1 01:00:08 unknown daemon.info dnsmasq[134]: started, version 2.46 cachesize 150
    Jan  1 01:00:08 unknown daemon.info dnsmasq[134]: compile time options: no-IPv6 GNU-getopt no-RTC no-DBus no-I18N no-TFTP
    Jan  1 01:00:08 unknown daemon.info dnsmasq[134]: DHCP, IP range 192.168.1.2 -- 192.168.1.31, lease time 1d
    Jan  1 01:00:08 unknown daemon.warn dnsmasq[134]: failed to access /etc/resolv.dnsmasq: No such file or directory
    Jan  1 01:00:08 unknown daemon.info dnsmasq[134]: read /etc/hosts - 0 addresses
    Jan  1 01:00:08 unknown daemon.info dnsmasq[134]: read /etc/hosts.dnsmasq - 8 addresses
    Jan  1 01:00:09 unknown cron.err crond[139]: crond (busybox 1.12.3) started, log level 9
    Jan  1 01:00:09 unknown user.info init[1]: Tomato 1.23.8616 ND USB
    Jan  1 01:00:09 unknown user.info init[1]: Asus WL-500gP v2
    Jan  1 01:00:09 unknown daemon.info httpd[150]: Generating SSL certificate...
    Jan  1 01:00:09 unknown daemon.notice miniupnpd[147]: HTTP listening on port 5555
    Jan  1 01:00:34 unknown daemon.info dnsmasq[134]: reading /etc/resolv.dnsmasq
    Jan  1 01:00:34 unknown daemon.info dnsmasq[134]: using nameserver 212.76.33.104#53
    Jan  1 01:00:34 unknown daemon.info dnsmasq[134]: using nameserver 212.76.33.102#53
    Jan  1 01:00:37 unknown daemon.info dnsmasq[134]: reading /etc/resolv.dnsmasq
    Jan  1 01:00:37 unknown daemon.info dnsmasq[134]: using nameserver 212.76.33.104#53
    Jan  1 01:00:37 unknown daemon.info dnsmasq[134]: using nameserver 212.76.33.102#53
    Jan  1 01:00:37 unknown daemon.info dnsmasq[134]: exiting on receipt of SIGTERM
    Jan  1 01:00:37 unknown daemon.info dnsmasq[183]: started, version 2.46 cachesize 150
    Jan  1 01:00:37 unknown daemon.info dnsmasq[183]: compile time options: no-IPv6 GNU-getopt no-RTC no-DBus no-I18N no-TFTP
    Jan  1 01:00:37 unknown daemon.info dnsmasq[183]: DHCP, IP range 192.168.1.2 -- 192.168.1.31, lease time 1d
    Jan  1 01:00:37 unknown daemon.info dnsmasq[183]: reading /etc/resolv.dnsmasq
    Jan  1 01:00:37 unknown daemon.info dnsmasq[183]: using nameserver 212.76.33.104#53
    Jan  1 01:00:37 unknown daemon.info dnsmasq[183]: using nameserver 212.76.33.102#53
    Jan  1 01:00:37 unknown daemon.info dnsmasq[183]: read /etc/hosts - 0 addresses
    Jan  1 01:00:37 unknown daemon.info dnsmasq[183]: read /etc/hosts.dnsmasq - 8 addresses
    Jan  1 01:00:38 unknown user.info kernel: IPP2P v0.8.2 loading
    Jan  1 01:00:41 unknown user.notice kernel: JFFS2 version 2.1. (C) 2001 Red Hat, Inc., designed by Axis Communications AB.
    Jan  1 01:00:44 unknown daemon.notice miniupnpd[147]: received signal 15, good-bye
    Jan  1 01:00:45 unknown daemon.notice miniupnpd[283]: HTTP listening on port 5555
    Feb  5 10:58:26 unknown user.notice root: Updating Tomato theme...
    Feb  5 10:58:38 unknown cron.err crond[139]: time disparity of 20563798 minutes detected
    Feb  5 11:00:01 unknown syslog.info root: -- MARK --
    Feb  5 11:36:48 unknown daemon.warn miniupnpd[283]: HTTP Connection closed inexpectedly
    
    and v.17
    Code:
    Jan  1 01:00:10 unknown syslog.info syslogd started: BusyBox v1.12.3
    Jan  1 01:00:10 unknown user.notice kernel: klogd started: BusyBox v1.12.3 (2009-02-04 16:29:10 EST)
    Jan  1 01:00:10 unknown user.warn kernel: CPU revision is: 00029029
    Jan  1 01:00:10 unknown user.warn kernel: Primary instruction cache 16kb, linesize 16 bytes (4 ways)
    Jan  1 01:00:10 unknown user.warn kernel: Primary data cache 16kb, linesize 16 bytes (2 ways)
    Jan  1 01:00:10 unknown user.warn kernel: Linux version 2.4.20 (root@tomato) (gcc version 3.2.3 with Broadcom modifications) #2 Wed Feb 4 16:36:45 EST 2009
    Jan  1 01:00:10 unknown user.warn kernel: Setting the PFC to its default value
    Jan  1 01:00:10 unknown user.warn kernel: Determined physical RAM map:
    Jan  1 01:00:10 unknown user.warn kernel:  memory: 02000000 @ 00000000 (usable)
    Jan  1 01:00:10 unknown user.warn kernel: On node 0 totalpages: 8192
    Jan  1 01:00:10 unknown user.warn kernel: zone(0): 8192 pages.
    Jan  1 01:00:10 unknown user.warn kernel: zone(1): 0 pages.
    Jan  1 01:00:10 unknown user.warn kernel: zone(2): 0 pages.
    Jan  1 01:00:10 unknown user.warn kernel: Kernel command line: root=/dev/mtdblock2 noinitrd console=ttyS0,115200
    Jan  1 01:00:10 unknown user.warn kernel: CPU: BCM5354 rev 2 at 240 MHz
    Jan  1 01:00:10 unknown user.warn kernel: Calibrating delay loop... 237.56 BogoMIPS
    Jan  1 01:00:10 unknown user.info kernel: Memory: 30588k/32768k available (1414k kernel code, 2180k reserved, 108k data, 64k init, 0k highmem)
    Jan  1 01:00:10 unknown user.info kernel: Dentry cache hash table entries: 4096 (order: 3, 32768 bytes)
    Jan  1 01:00:10 unknown user.info kernel: Inode cache hash table entries: 2048 (order: 2, 16384 bytes)
    Jan  1 01:00:10 unknown user.warn kernel: Mount-cache hash table entries: 512 (order: 0, 4096 bytes)
    Jan  1 01:00:10 unknown user.warn kernel: Buffer-cache hash table entries: 1024 (order: 0, 4096 bytes)
    Jan  1 01:00:10 unknown user.warn kernel: Page-cache hash table entries: 8192 (
    Jan  1 01:00:10 unknown user.info kernel: order: 3, 32768 bytes)
    Jan  1 01:00:10 unknown user.warn kernel: Checking for 'wait' instruction...  unavailable.
    Jan  1 01:00:10 unknown user.warn kernel: POSIX conformance testing by UNIFIX
    Jan  1 01:00:10 unknown user.warn kernel: PCI: no core
    Jan  1 01:00:10 unknown user.warn kernel: PCI: Fixing up bus 0
    Jan  1 01:00:10 unknown user.info kernel: Linux NET4.0 for Linux 2.4
    Jan  1 01:00:10 unknown user.info kernel: Based upon Swansea University Computer Society NET3.039
    Jan  1 01:00:10 unknown user.warn kernel: Initializing RT netlink socket
    Jan  1 01:00:10 unknown user.warn kernel: Starting kswapd
    Jan  1 01:00:11 unknown user.info kernel: devfs: v1.12c (20020818) Richard Gooch (rgooch@atnf.csiro.au)
    Jan  1 01:00:11 unknown user.info kernel: devfs: boot_options: 0x1
    Jan  1 01:00:11 unknown user.info kernel: squashfs: version 3.0 (2006/03/15) Phillip Lougher
    Jan  1 01:00:11 unknown user.warn kernel: pty: 256 Unix98 ptys configured
    Jan  1 01:00:11 unknown user.info kernel: Serial driver version 5.05c (2001-07-08) with MANY_PORTS SHARE_IRQ SERIAL_PCI enabled
    Jan  1 01:00:11 unknown user.info kernel: ttyS00 at 0xb8000300 (irq = 3) is a 16550A
    Jan  1 01:00:11 unknown user.info kernel: ttyS01 at 0xb8000400 (irq = 0) is a 16550A
    Jan  1 01:00:11 unknown user.warn kernel: HDLC line discipline: version $Revision: 1.1.1.4 $, maxframe=4096
    Jan  1 01:00:11 unknown user.info kernel: N_HDLC line discipline registered.
    Jan  1 01:00:11 unknown user.info kernel: PPP generic driver version 2.4.2
    Jan  1 01:00:11 unknown user.debug kernel: Physically mapped flash: Found an alias at 0x800000 for the chip at 0x0
    Jan  1 01:00:11 unknown user.debug kernel: Physically mapped flash: Found an alias at 0x1000000 for the chip at 0x0
    Jan  1 01:00:11 unknown user.debug kernel: Physically mapped flash: Found an alias at 0x1800000 for the chip a
    Jan  1 01:00:11 unknown user.info kernel: t 0x0
    Jan  1 01:00:11 unknown user.notice kernel:  Amd/Fujitsu Extended Query Table v1.1 at 0x0040
    Jan  1 01:00:11 unknown user.notice kernel: number of CFI chips: 1
    Jan  1 01:00:11 unknown user.notice kernel: Flash device: 0x800000 at 0x1c000000
    Jan  1 01:00:11 unknown user.notice kernel: Creating 5 MTD partitions on "Physically mapped flash":
    Jan  1 01:00:11 unknown user.notice kernel: 0x00000000-0x00020000 : "pmon"
    Jan  1 01:00:11 unknown user.notice kernel: 0x00020000-0x007f0000 : "linux"
    Jan  1 01:00:11 unknown user.notice kernel: 0x000cc14c-0x003b0000 : "rootfs"
    Jan  1 01:00:11 unknown user.notice kernel: 0x003b0000-0x007f0000 : "jffs2"
    Jan  1 01:00:11 unknown user.notice kernel: 0x007f0000-0x00800000 : "nvram"
    Jan  1 01:00:11 unknown user.err kernel: sflash: found no supported devices
    Jan  1 01:00:11 unknown user.info kernel: NET4: Linux TCP/IP 1.0 for NET4.0
    Jan  1 01:00:11 unknown user.info kernel: IP Protocols: ICMP, UDP, TCP, IGMP
    Jan  1 01:00:11 unknown user.info kernel: IP: routing cache hash table of 16384 buckets, 128Kbytes
    Jan  1 01:00:11 unknown user.info kernel: TCP: Hash tables configured (established 2048 bind 4096)
    Jan  1 01:00:11 unknown user.info kernel: Linux IP multicast router 0.06 plus PIM-SM
    Jan  1 01:00:11 unknown user.warn kernel: ip_conntrack version 2.1 (16384 buckets, 8192 max) - 368 bytes per conntrack
    Jan  1 01:00:11 unknown user.warn kernel: ip_tables: (C) 2000-2002 Netfilter core team
    Jan  1 01:00:11 unknown user.info kernel: NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
    Jan  1 01:00:11 unknown user.info kernel: NET4: Ethernet Bridge 008 for NET4.0
    Jan  1 01:00:11 unknown user.alert kernel: 802.1Q VLAN Support v1.7 Ben Greear <greearb@candelatech.com>
    Jan  1 01:00:11 unknown user.alert kernel: All bugs added by David S. Miller <davem@redhat.com>
    Jan  1 01:00:11 unknown user.warn kernel: VFS: Mounted root (squashfs filesystem)
    Jan  1 01:00:11 unknown user.info kernel:  readonly.
    Jan  1 01:00:11 unknown user.info kernel: Mounted devfs on /dev
    Jan  1 01:00:11 unknown user.info kernel: Freeing unused kernel memory: 64k freed
    Jan  1 01:00:11 unknown user.warn kernel: Algorithmics/MIPS FPU Emulator v1.5
    Jan  1 01:00:11 unknown user.warn kernel: ip_conntrack_pptp version 1.9 loaded
    Jan  1 01:00:11 unknown user.warn kernel: ip_nat_pptp version 1.5 loaded
    Jan  1 01:00:11 unknown user.warn kernel: ip_conntrack_rtsp v0.01 loading
    Jan  1 01:00:11 unknown user.warn kernel: ip_nat_rtsp v0.01 loading
    Jan  1 01:00:11 unknown user.warn kernel: eth0: Broadcom BCM47xx 10/100 Mbps Ethernet Controller 4.150.10.5
    Jan  1 01:00:11 unknown user.warn kernel: eth1: Broadcom BCM4318 802.11 Wireless Controller 4.150.10.5
    Jan  1 01:00:11 unknown user.warn kernel: tomato_ct.c [Feb  4 2009 16:40:11]
    Jan  1 01:00:11 unknown user.info kernel: usb.c: registered new driver usbdevfs
    Jan  1 01:00:11 unknown user.info kernel: usb.c: registered new driver hub
    Jan  1 01:00:11 unknown user.warn kernel: USB20H fcr: 0x64
    Jan  1 01:00:11 unknown user.warn kernel: USB20H shim cr: 0x8f7
    Jan  1 01:00:11 unknown user.warn kernel: USB20H syn01 register : 0xfe00fe
    Jan  1 01:00:11 unknown user.warn kernel: USB20H syn03 register : 0x1
    Jan  1 01:00:11 unknown user.info kernel: ehci_hcd 00:03.1: PCI device 14e4:471a
    Jan  1 01:00:11 unknown user.info kernel: ehci_hcd 00:03.1: irq 6, pci mem b8003800
    Jan  1 01:00:11 unknown user.info kernel: usb.c: new USB bus registered, assigned bus number 1
    Jan  1 01:00:11 unknown user.warn kernel: ehci_hcd 00:03.1: illegal capability!
    Jan  1 01:00:11 unknown user.warn kernel: PCI: 00:03.1 PCI cache line size set incorrectly (0 bytes) by BIOS/FW, correcting to 32
    Jan  1 01:00:11 unknown user.info kernel: ehci_hcd 00:03.1: USB 0.0 enabled, EHCI 1.00, driver 2003-Dec-29/2.4
    Jan  1 01:00:11 unknown user.info kernel: hub.c: USB hub found
    Jan  1 01:00:11 unknown user.info kernel: hub.c: 2 ports detected
    Jan  1 01:00:11 unknown user.info kernel: usb.c:
    Jan  1 01:00:11 unknown user.info kernel:  registered new driver usblp
    Jan  1 01:00:11 unknown user.info kernel: printer.c: v0.13: USB Printer Device Class driver
    Jan  1 01:00:11 unknown user.info kernel: hub.c: new USB device 00:03.1-1, assigned address 2
    Jan  1 01:00:11 unknown user.info kernel: hub.c: USB hub found
    Jan  1 01:00:11 unknown user.info kernel: hub.c: 2 ports detected
    Jan  1 01:00:11 unknown user.info kernel: vlan0: dev_set_promiscuity(master, 1)
    Jan  1 01:00:11 unknown user.info kernel: device eth0 entered promiscuous mode
    Jan  1 01:00:11 unknown user.info kernel: device vlan0 entered promiscuous mode
    Jan  1 01:00:11 unknown user.info kernel: device eth1 entered promiscuous mode
    Jan  1 01:00:11 unknown user.info kernel: br0: port 2(eth1) entering learning state
    Jan  1 01:00:11 unknown user.info kernel: br0: port 1(vlan0) entering learning state
    Jan  1 01:00:11 unknown user.info kernel: br0: port 2(eth1) entering forwarding state
    Jan  1 01:00:11 unknown user.info kernel: br0: topology change detected, propagating
    Jan  1 01:00:11 unknown user.info kernel: br0: port 1(vlan0) entering forwarding state
    Jan  1 01:00:11 unknown user.info kernel: br0: topology change detected, propagating
    Jan  1 01:00:11 unknown user.warn kernel: vlan1: Setting MAC address to  wan_mac.
    Jan  1 01:00:11 unknown user.info kernel: vlan1: add 01:00:5e:00:00:01 mcast address to master interface
    Jan  1 01:00:12 unknown daemon.info dnsmasq[134]: started, version 2.46 cachesize 150
    Jan  1 01:00:12 unknown daemon.info dnsmasq[134]: compile time options: no-IPv6 GNU-getopt no-RTC no-DBus no-I18N no-TFTP
    Jan  1 01:00:12 unknown daemon.info dnsmasq[134]: DHCP, IP range 192.168.1.2 -- 192.168.1.31, lease time 1d
    Jan  1 01:00:12 unknown daemon.warn dnsmasq[134]: failed to access /etc/resolv.dnsmasq: No such file or directory
    Jan  1 01:00:12 unknown daemon.info dnsmasq[134]: read /etc/hosts - 0 addresses
    Jan  1 01:00:12 unknown daemon.info dnsmasq[134]: read /etc/hosts.dnsmasq - 8 addresses
    Jan  1 01:00:12 unknown cron.err crond[139]: crond (busybox 1.12.3) started, log level 9
    Jan  1 01:00:13 unknown daemon.notice miniupnpd[144]: HTTP listening on port 5555
    Jan  1 01:00:13 unknown user.info init[1]: Tomato 1.23.8617 ND USB
    Jan  1 01:00:13 unknown user.info init[1]: Asus WL-500gP v2
    Jan  1 01:00:13 unknown daemon.info httpd[150]: Generating SSL certificate...
    Jan  1 01:00:28 unknown daemon.info dnsmasq[134]: reading /etc/resolv.dnsmasq
    Jan  1 01:00:28 unknown daemon.info dnsmasq[134]: using nameserver 212.76.33.104#53
    Jan  1 01:00:28 unknown daemon.info dnsmasq[134]: using nameserver 212.76.33.102#53
    Jan  1 01:00:41 unknown daemon.info dnsmasq[134]: reading /etc/resolv.dnsmasq
    Jan  1 01:00:41 unknown daemon.info dnsmasq[134]: using nameserver 212.76.33.104#53
    Jan  1 01:00:41 unknown daemon.info dnsmasq[134]: using nameserver 212.76.33.102#53
    Jan  1 01:00:41 unknown daemon.info dnsmasq[134]: exiting on receipt of SIGTERM
    Jan  1 01:00:41 unknown daemon.info dnsmasq[186]: started, version 2.46 cachesize 150
    Jan  1 01:00:41 unknown daemon.info dnsmasq[186]: compile time options: no-IPv6 GNU-getopt no-RTC no-DBus no-I18N no-TFTP
    Jan  1 01:00:41 unknown daemon.info dnsmasq[186]: DHCP, IP range 192.168.1.2 -- 192.168.1.31, lease time 1d
    Jan  1 01:00:41 unknown daemon.info dnsmasq[186]: reading /etc/resolv.dnsmasq
    Jan  1 01:00:41 unknown daemon.info dnsmasq[186]: using nameserver 212.76.33.104#53
    Jan  1 01:00:41 unknown daemon.info dnsmasq[186]: using nameserver 212.76.33.102#53
    Jan  1 01:00:41 unknown daemon.info dnsmasq[186]: read /etc/hosts - 0 addresses
    Jan  1 01:00:41 unknown daemon.info dnsmasq[186]: read /etc/hosts.dnsmasq - 8 addresses
    Jan  1 01:00:43 unknown user.crit dhcpc-event[118]: Error while loading rules. See /etc/iptables.error file.
    Jan  1 01:00:46 unknown daemon.notice miniupnpd[144]: received signal 15, good-bye
    Jan  1 01:00:47 unknown daemon.notice miniupnpd[282]: HTTP listening on port 5555
    Feb  5 11:58:29 unknown user.notice root: Updating Tomato theme...
    Feb  5 11:58:36 unknown daemon.err miniupnpd[282]: chain upnp not found
    Feb  5 11:58:37 unknown cron.err crond[139]: time disparity of 20563858 minutes detected
    
    iptables.error
    Code:
    *mangle
    :PREROUTING ACCEPT [0:0]
    :OUTPUT ACCEPT [0:0]
    :QOSO - [0:0]
    -A QOSO -j CONNMARK --restore-mark --mask 0xff
    -A QOSO -m connmark ! --mark 0/0xff00 -j RETURN
    -A QOSO -m mac --mac-source "my_MAC"  -j CONNMARK --set-return 0x101/0xFF
    -A QOSO -p udp --dport 53   -m bcount --range 0x0-0x7ff -j CONNMARK --set-return 0x2/0xFF
    -A QOSO -p udp --dport 53   -m bcount --range 0x800 -j CONNMARK --set-return 0x5/0xFF
    -A QOSO -p tcp -m mport --dports 80,443   -m bcount --range 0x0-0x7ffff -j CONNMARK --set-return 0x3/0xFF
    -A QOSO -p tcp -m mport --dports 80,443   -m bcount --range 0x80000 -j CONNMARK --set-return 0x5/0xFF
    -A QOSO -p udp --dport 45222:45224   -j CONNMARK --set-return 0x3/0xFF
    -A QOSO -p tcp --dport 45222:45224   -j CONNMARK --set-return 0x3/0xFF
    -A QOSO -p udp --dport 1024:65535   -j CONNMARK --set-return 0x5/0xFF
    -A QOSO -p tcp --dport 1024:65535   -j CONNMARK --set-return 0x5/0xFF
    -A QOSO  -m ipp2p --ipp2p -j CONNMARK --set-return 0x105/0xFF
    -I QOSO -j BCOUNT
    -A QOSO -j CONNMARK --set-return 0x5
    -A FORWARD -o vlan1 -j QOSO
    -A OUTPUT -o vlan1 -j QOSO
    -A PREROUTING -i vlan1 -j CONNMARK --restore-mark --mask 0xff
    COMMIT
    *nat
    :PREROUTING ACCEPT [0:0]
    :POSTROUTING ACCEPT [0:0]
    :OUTPUT ACCEPT [0:0]
    -A PREROUTING -i vlan1 -d 192.168.1.1/255.255.255.0 -j DROP
    -A PREROUTING -p icmp -d my_IP -j DNAT --to-destination 192.168.1.1
    -A PREROUTING -p tcp -m tcp  -d my_IP --dport 8080 -j DNAT --to-destination 192.168.1.1:443
    :upnp - [0:0]
    -A PREROUTING -i vlan1 -j upnp
    -A POSTROUTING -o vlan1 -j MASQUERADE
    COMMIT
    *filter
    :INPUT DROP [0:0]
    :OUTPUT ACCEPT [0:0]
    -A INPUT -i br0 -d my_IP -j DROP
    -A INPUT -m state --state INVALID -j DROP
    -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
    -A INPUT -i br0 -j ACCEPT
    -A INPUT -i lo -j ACCEPT
    -A INPUT -p tcp  -m tcp -d 192.168.1.1 --dport 443 -j ACCEPT
    :FORWARD DROP [0:0]
    -A FORWARD -i br0 -o br0 -j ACCEPT
    -A FORWARD -m state --state INVALID -j DROP
    -A FORWARD -p tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1461: -j TCPMSS --set-mss 1460
    :wanin - [0:0]
    :wanout - [0:0]
    -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
    -A FORWARD -i vlan1 -j wanin
    -A FORWARD -o vlan1 -j wanout
    -A FORWARD -i br0 -j ACCEPT
    :upnp - [0:0]
    -A FORWARD -i vlan1 -o ! vlan1 -j upnp
    COMMIT
    
     
  6. teddy_bear

    teddy_bear Network Guru Member

    Hmm... There were a couple of networking-related changes in v17 that could possibly affect this: update miniupnpd to the latest version from their web site, and "better" stripping of executables and modules.

    Does anybody see anything apparently wrong in the iptables rules?

    And is there anyone else with the same problem?

    I suspect that the "better" stripping could have stripped out parameters info from some of the iptables modules. However, all my settings are still working fine here... Could you try to disable UPnP and/or QoS rules to locate the rule that is not working?

    EDIT: Ok, I found it... That's IPP2P rule in QoS settings that causes the problem. Probably because of the stripping. I'll fix it later today and post a new build.
     
  7. quinezhu

    quinezhu Networkin' Nut Member

    Could you please provide the sole package of usb driver? I wanna get it installed on my router (Belkin 7231, its cpu of Broadcom BCM4712 chip rev 1 supports usb1.1) with the firmware of 1.23vpn2.0005 for the function of print server. Thx in adv.
     
  8. teddy_bear

    teddy_bear Network Guru Member

    Everything's available in the git repository with all the relevant links in the 1st post. The updated USB driver is in the tomato-USB-patches branch. You can merge it with vpn branch, reconfigure kernel to include modules you need, add the p910nd printer server, and compile your own build.
    If you only need the binary modules and know what to do with them, I can make them available separately - let me know if that's what you want. But don't complain if they won't work with VPN firmware build :).
     
  9. quinezhu

    quinezhu Networkin' Nut Member

    Thx. I'll check it in the git repository.

    And frankly I'm a rookie on it and I had thougt only put the usb driver under /jffs and add some init scripts, and then cold reboot. :redface: I don't know whether the binary modules is needed.

    btw, if they don't work with VPN firmware build, will it be harmful to the router?
     
  10. teddy_bear

    teddy_bear Network Guru Member

    quinezhu,

    USB driver is a bunch of binary modules, each of them can be loaded with insmod command. Sounds like these binary modules is what you want. I'll upload them later with the next build. You can find some threads on DD-WRT and OpenWRT forums about manual loading of USB and printing support modules to figure out which ones you'll need and what to do with them.

    No, they won't harm your router if they won't work - they just won't work ;)...
     
  11. t_bone

    t_bone Networkin' Nut Member

    Hello,

    I've just tested tomato 1.23 ND_USB (16) on my Asus WL-500W (Wireless N) and it works!
    I'm impressed! The WLAN card is recognized (it works but only 11 / g) USB 2.0 also.
    the wLan light is always on. This is not a problem, pity is that the SES button does not work.

    Code:
    CPU revision is: 00029006
    Primary instruction cache 16kb, linesize 16 bytes (2 ways)
    Primary data cache 16kb, linesize 16 bytes (2 ways)
    Linux version 2.4.20 (root@tomato) (gcc version 3.2.3 with Broadcom modifications) #4 Sat Jan 31 02:50:59 EST 2009
    Setting the PFC to its default value
    Determined physical RAM map:
     memory: 02000000 @ 00000000 (usable)
    On node 0 totalpages: 8192
    zone(0): 8192 pages.
    zone(1): 0 pages.
    zone(2): 0 pages.
    Kernel command line: root=/dev/mtdblock2 noinitrd console=ttyS0,115200
    CPU: BCM4704 rev 9 at 264 MHz
    Calibrating delay loop... 263.78 BogoMIPS
    Memory: 30588k/32768k available (1414k kernel code, 2180k reserved, 108k data, 64k init, 0k highmem)
    Dentry cache hash table entries: 4096 (order: 3, 32768 bytes)
    Inode cache hash table entries: 2048 (order: 2, 16384 bytes)
    Mount-cache hash table entries: 512 (order: 0, 4096 bytes)
    Buffer-cache hash table entries: 1024 (order: 0, 4096 bytes)
    Page-cache hash table entries: 8192 (order: 3, 32768 bytes)
    Checking for 'wait' instruction...  unavailable.
    POSIX conformance testing by UNIFIX
    PCI: Initializing host
    PCI: Fixing up bus 0
    PCI: Fixing up bridge
    PCI: Fixing up bus 1
    Linux NET4.0 for Linux 2.4
    Based upon Swansea University Computer Society NET3.039
    Initializing RT netlink socket
    Starting kswapd
    devfs: v1.12c (20020818) Richard Gooch (rgooch@atnf.csiro.au)
    devfs: boot_options: 0x1
    squashfs: version 3.0 (2006/03/15) Phillip Lougher
    pty: 256 Unix98 ptys configured
    Serial driver version 5.05c (2001-07-08) with MANY_PORTS SHARE_IRQ SERIAL_PCI enabled
    ttyS00 at 0xb8000300 (irq = 3) is a 16550A
    ttyS01 at 0xb8000400 (irq = 0) is a 16550A
    HDLC line discipline: version $Revision: 1.1.1.4 $, maxframe=4096
    N_HDLC line discipline registered.
    PPP generic driver version 2.4.2
    Physically mapped flash: Found an alias at 0x800000 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 0x1800000 for the chip at 0x0
     Amd/Fujitsu Extended Query Table v1.3 at 0x0040
    number of CFI chips: 1
    Flash device: 0x800000 at 0x1c000000
    Creating 5 MTD partitions on "Physically mapped flash":
    0x00000000-0x00040000 : "pmon"
    0x00040000-0x007f0000 : "linux"
    0x000ec0d0-0x003d0000 : "rootfs"
    0x003d0000-0x007f0000 : "jffs2"
    0x007f0000-0x00800000 : "nvram"
    sflash: found no supported devices
    NET4: Linux TCP/IP 1.0 for NET4.0
    IP Protocols: ICMP, UDP, TCP, IGMP
    IP: routing cache hash table of 16384 buckets, 128Kbytes
    TCP: Hash tables configured (established 2048 bind 4096)
    Linux IP multicast router 0.06 plus PIM-SM
    ip_conntrack version 2.1 (16384 buckets, 8192 max) - 368 bytes per conntrack
    ip_tables: (C) 2000-2002 Netfilter core team
    NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
    NET4: Ethernet Bridge 008 for NET4.0
    802.1Q VLAN Support v1.7 Ben Greear <greearb@candelatech.com>
    All bugs added by David S. Miller <davem@redhat.com>
    VFS: Mounted root (squashfs filesystem) readonly.
    Mounted devfs on /dev
    Freeing unused kernel memory: 64k freed
    Algorithmics/MIPS FPU Emulator v1.5
    ip_conntrack_pptp version 1.9 loaded
    ip_nat_pptp version 1.5 loaded
    ip_conntrack_rtsp v0.01 loading
    ip_nat_rtsp v0.01 loading
    eth0: Broadcom BCM47xx 10/100 Mbps Ethernet Controller 4.150.10.5
    eth1: Broadcom BCM47xx 10/100 Mbps Ethernet Controller 4.150.10.5
    PCI: Enabling device 01:02.0 (0004 -> 0006)
    eth2: Broadcom BCM4329 802.11 Wireless Controller 4.150.10.5
    tomato_ct.c [Jan 31 2009 02:20:26]
    JFFS2 version 2.1. (C) 2001 Red Hat, Inc., designed by Axis Communications AB.
    usb.c: registered new driver usbdevfs
    usb.c: registered new driver hub
    PCI: Enabling device 01:03.2 (0000 -> 0002)
    ehci_hcd 01:03.2: PCI device 1106:3104
    ehci_hcd 01:03.2: irq 12, pci mem c0218000
    usb.c: new USB bus registered, assigned bus number 1
    EHCI: Enabling VIA 6212 workarounds
    PCI: 01:03.2 PCI cache line size set incorrectly (0 bytes) by BIOS/FW, correcting to 32
    ehci_hcd 01:03.2: USB 2.0 enabled, EHCI 1.00, driver 2003-Dec-29/2.4
    hub.c: USB hub found
    hub.c: 4 ports detected
    usb-uhci.c: $Revision: 1.275 $ time 02:19:38 Jan 31 2009
    usb-uhci.c: High bandwidth mode enabled
    PCI: Enabling device 01:03.0 (0000 -> 0001)
    UHCI: Enabling VIA 6212 workarounds
    usb-uhci.c: USB UHCI at I/O 0x100, IRQ 12
    usb-uhci.c: Detected 2 ports
    usb.c: new USB bus registered, assigned bus number 2
    hub.c: USB hub found
    hub.c: 2 ports detected
    PCI: Enabling device 01:03.1 (0000 -> 0001)
    UHCI: Enabling VIA 6212 workarounds
    usb-uhci.c: USB UHCI at I/O 0x120, IRQ 12
    usb-uhci.c: Detected 2 ports
    usb.c: new USB bus registered, assigned bus number 3
    hub.c: USB hub found
    hub.c: 2 ports detected
    usb-uhci.c: v1.275:USB Universal Host Controller Interface driver
    usb.c: registered new driver usblp
    printer.c: v0.13: USB Printer Device Class driver
    device eth0 entered promiscuous mode
    device eth2 entered promiscuous mode
    br0: port 2(eth2) entering listening state
    br0: port 1(eth0) entering listening state
    br0: port 2(eth2) entering learning state
    br0: port 1(eth0) entering learning state
    br0: port 2(eth2) entering forwarding state
    br0: topology change detected, propagating
    br0: port 1(eth0) entering forwarding state
    br0: topology change detected, propagating
    
     
  12. teddy_bear

    teddy_bear Network Guru Member

    This could be a problem with v16. v17 supposedly fixed it, but I pulled it off for now because of the bug with IPP2P. I will upload new build later today with fix for IPP2P problem, and hopefully it will fix the led/ses button on your router as well.
    As for Wireless-N support, this is a much bigger task than I can handle - maybe somebody else will work on it some day...
     
  13. t_bone

    t_bone Networkin' Nut Member

    That would be fine.

    The problem with the wireless N card from Broadcom have Open(X)/DD-WRT also. That is not so bad. The mimo driver from openwrt also works at 11/g.
    I do not need 11/n. For Transfers i have an USB-Stick :)
    At the moment I dither between open(X)wrt or tomato. OpenWrt is more flexible. tomato for this seems much faster and more stable.


    2 Questions I have:
    Is there a good tutorial for the build process? (to build my one Image with the Extensions)
    How I can separate permanently the Network Bridge between LAN and WLAN.

    Thanks for the good work!
     
  14. teddy_bear

    teddy_bear Network Guru Member

    The best and only tutorial for building Tomato is the Jon's readme from official Tomato sources distribution. There's a trick though not desribed in the readme - if compiling on Ubuntu, you'll need to relink /bin/sh to /bin/bash instead of dash.

    If you want to get sources from git, the good StPepper's overview of git repository is linked from my 1st post on this thread.
     
  15. teddy_bear

    teddy_bear Network Guru Member

    Update - build 18

    This is a bug fix release to resolve the problem with IPP2P module caused by excessive stripping of shared libraries in v17.

    One additional change in this build is the fix for national codepages support in Samba (added forgotten kernel modules).
     
  16. ray123

    ray123 Networkin' Nut Member

    USB disc partitioning utilities available.

    I have created a set of disk utilities that will execute on a Tomato router. With these utilities you can now create ext2 partitions on a USB drive on the router itself, so you don't have to use a Linux desktop machine to do it anymore.

    A brief help file is included.

    Download link:
    http://www.mediafire.com/?sharekey=bf1c9182f9b6217d75a4fc82078ae6c8e04e75f6e8ebb871
    Filename is "tomato_dskutils.tgz"

    Direct link: http://www.mediafire.com/file/vfybzjmyznw/tomato_dskutils.tgz
     
  17. quinezhu

    quinezhu Networkin' Nut Member

    thx :) I'll find them.
     
  18. stud.beefpile

    stud.beefpile Networkin' Nut Member

    Could you elaborate a little on how to use these? I've Googled a little bit, and everything seems to be specific to the flavor of Linux or to the writer's situation, and I have no experience with Linux.

    What I'd like to do:

    I've got a 1 GB flash drive (FAT) and an 80 GB external USB hard drive (FAT) that I'd like to hook up to my WL-500gPv1. I'd like to set up a little swap (on the hard drive for the future) and a lot of share space. I'd like to switch the flash drive to ext2 and the hard drive to ext3.

    What I've done so far is copy your utilities to the flash drive and plugged it back into the router. However, I can't figure out how to get things to run. Could you point me to a couple of good Google links or get me started?
     
  19. teddy_bear

    teddy_bear Network Guru Member

    Thanks for sharing! These could be useful for people without the Linux box.
    All USB and filesystem support modules can be downloaded from the same location as the firmware binaries (links are in the 1st post).
    In addition to what's built-in in the firmware, there is a loop.o module and ntfs.o module (read-only NTFS support).
     
  20. davidehue

    davidehue Networkin' Nut Member

    @teddy_bear: After FTP server works well, I can't access the FTP server from my LAN network using my DDNS (for example: ftp://mynetwork.no-ip.org:2500). I can only used my router address to access the ftp server from LAN. Is it possible to access the FTP from LAN using my DDNS name?

    Thanks :)
     
  21. teddy_bear

    teddy_bear Network Guru Member

    davidehue,
    That's how it's supposed to work. Think about it - when you use your external DDNS address, the request goes through the internet, so the FTP server is accessed from WAN, not from LAN.
    I think possibly playing with "NAT Loopback" setting on the "Advanced -> Firewall" page may help to get around it (simulating LAN access to the router in case if the request was originated from LAN) - but I'm not sure...
     
  22. ray123

    ray123 Networkin' Nut Member

    There's a readme file that should get you started. Hmmmm, you did untar the archive, didn't you?

    One step at a time walkthru......

    Hmmmmmmmmmmmmmmmmm--dang--this fdisk has a bug in it. I'll fix it and get back to you.
     
  23. Nite

    Nite Networkin' Nut Member

    Hey everyone,

    I was wondering how difficult it would be to create a derivative of this version that would allow some JFFS space on the Asus 520gU at the expense of some of the other features like FTP and Samba in order to support the HP LJ1018. The driver file for the 1018 is approximately 130 KB. I would just use the 04 release, but hotplug is needed in order to support the driver transfer.

    Any help would be appreciated. Thanks!
     
  24. teddy_bear

    teddy_bear Network Guru Member

    Nite,
    V18 seems to be pretty stable now - no bug reports... I'm making some small changes however for the next build. After it's released, and there are no more complaints, I'm going to build a few "final" versions of the mod - the "standard" one with all features included, the "lite" one with no Samba (that one should have enough space for the HP 1018 driver), and maybe another one with the original wireless driver (just in case).

    Alternatively (or as a temporary solution until lite version is ready) you can still load the HP driver from an USB flash drive...
     
  25. jnappert

    jnappert Addicted to LI Member

    @teddy_bear
    As i compiled your latest build with 4.150.10.29 wl-drivers without any problem, how about adding it to your source or at least to repository? I am sure you have the sources of this driver if not and you are interested, give me a PM ;-)




     
  26. teddy_bear

    teddy_bear Network Guru Member

    Heh ;)... Right now I'm testing 4.158.4.0. If all goes well it will be in the next build, and in the repo. If it causes issues, then we can go back to 10.29. We also tested 10.16 before, and for whatever reason there were more connectivity issues with it than with 10.5.
    By the way, do you have wl and nas executables newer than from 4.150.10.5 that work with Tomato? All newer executables I found so far are linked against different version of libc library (libc.so.6). 10.5 executables work just fine with newer WL drivers though, so it's probably not important.
     
  27. jnappert

    jnappert Addicted to LI Member

    O.K. You are the best ;-)

    Dont know if they are newer, but i will send you the link to my wl-sources.



     
  28. CBR900

    CBR900 LI Guru Member

    thx for your great work

    I have asus wl-500gp

    my main concern is to have a version that has all your mods and Viteks'.

    So, please prepare also a final stable version that have Viteks' mod (spetially bandwith limiter) and usb+ftp server and if possible samba.

    thx
     
  29. teddy_bear

    teddy_bear Network Guru Member

    If Victek gets his code into the git reporsitory, that should be possible to do by merging branches :). Until then I doubt I will be doing a manual merge of these 2 mods...
     
  30. ray123

    ray123 Networkin' Nut Member

    I have fixed the bug in the busybox fdisk utility. Also made a little writeup. Both available for download at mediafire http://www.mediafire.com/?sharekey=bf1c9182f9b6217d75a4fc82078ae6c8e04e75f6e8ebb871

    While I was at it, I also included mkswap and swapon/off. Hopefully these will be useful in the near future.
     
  31. teddy_bear

    teddy_bear Network Guru Member

    ray123,
    You inspired me to look into including the e2fs utilities into the firmware build - at least the essential ones. The separately compiled package is too big, but apparently the new Busybox can still be compiled with old_e2fsprogs (included in current busybox distributions) after applying some patches. It produces the whole ****load of warnings, but it compiles ;)... Adding just fdisk, e2fsck and mke2fs increases the firmware binary by 120K though :(...

    Here's what I'm thinking... Since it's better to have these essential utilities in the flash memory to be able to format and check USB ext2/3 partitions without moving the files around, I'll probably include them into the "standard" (i.e. "full") build for now. For 8MB routers it won't make any significant difference in available JFFS space, and 4MB routers already don't have any space left anyway. The "lite" build will not include neither Samba nor these e2fs tools. If at some point you come up with a different JFFS implementation with lower overhead, then we can look at what amount of space it provides, and see what other combinations of features and JFFS space make sense.
     
  32. ray123

    ray123 Networkin' Nut Member

    New mods & configurations

    I've been working on some mods. Along the way, I made some changes to the build process to make life easier for developers. Especially making it easier to build multiple configurations.

    This set of mods & configurations is downloadable at
    http://www.mediafire.com/?sharekey=bf1c9182f9b6217d75a4fc82078ae6c8e04e75f6e8ebb871


    The main mod was in jffs, to make it arguably usable in the "standard" build.

    I'll upload the patch file soon. I'm working on that now.

    Also, I've been able to incorporate SgtPepper's VPN code into a test build. Not much testing done on it, I only verified that the router boots up and performs routing functions, and that vpn shows up in the ps listing.
    When the mods I'm currently working on are finished, it should be pretty easy to make a configuration with VPN in it. More later.

    Teddy Bear:
    1) Feel free to incorporate my patchset into your "official" build (as soon as I get it created and uploaded, of course.:) ). I'd just as soon not have "competing versions", so I'd prefer if we worked together. Otherwise I'll just maintain a parallel set of builds---but that gets ugly, as demonstrated by the mess at DD-WRT.

    1a) I can't make heads-or-tails of git. Maybe it's partly because I use Windows as my primary machine and use my Linux box only for compiling, and that the Windows git-gui doesn't work right. *shrug* Or possibly I have a severe allergy from my years of using ClearCase as a version control system. Anyway, for now I don't plan on putting anything into git, just grabbing a complete source tarball from git.

    2) Please don't include the disk utilities in the current standard build. For right now my separate set will satisy the need. I'm working on further mods & procedures that should greatly simplify things for users that want to get hinky with USB disks. And since my just-posted mods now have some usable jffs space, let's not take it away.

    3) When you believe that you have a working stable version I'll grab that and apply my current set of mods. Guess it's a good thing I didn't do that with the abortive v17 versions. ;-)

    4) There are a slew of operational problems with the USB/disk operation. It works ok as long as you only do simple things---like plug in one USB drive once and then leave it alone. But when you use a USB hub and plug/unplug multiple USB storage devices at random, various (and somewhat non-repeatable) unhappy things tend occur. Anyway....I've been working in this area, too. My mods in this area will clean up and simplify the operational aspects of USB drives, and make life very much easier for users. Most especially users who plug in several USB flash- and/or hard-drives.

    As I learned by hard experience back when I was working in software development, it's best to keep disparate mods separate while they are being worked on, so I'll submit this as a seperate set of mods, after I've finished testing them. My beating on this subsystem with my shoebox full of miscellaneous USB flash & hard drives was how I discovered these problems in the first place, so I want to do lots of testing.
     
  33. teddy_bear

    teddy_bear Network Guru Member

    I agree - no need to "compete" here ;))... When you make your stuff available, let's try to get it into the git repo. I'm also the Windows guy, and was struggling with git at first, but it's getting easier over time...

    If we can get your "jffs" and other mods as separate branches into git, we can then easily merge them into my "release" branch, and do all other kinds of merges... You don't even need to deal with git - if you give me your sources (preferrably splitted by features), I'll get them into the repository.

    I was planning to do re-configuration mainly by re-merging different branches (and it works most of the time), with some additional adjustments if needed (i.e. a simple change of the .config and tomato.js files to exclude Samba) - but if you have different configuration solution we can probably combine merges with whatever you came up with to simplify the process even more!..

    Ok, no problem ;). We can include it in "extended" build later to have "all-in-one" solution, but I agree that there's no need for it in the "standard" version.

    Could you elaborate on this please? I'm using a hub and plugging/unplugging usb drives at random (not "like crazy" though :) ), and yet to face any problem with later builds - unless it's a "problematic" drive of course (i have one - even Windows doesn't always reads it). I'm sure there could be some issues since usb implementation in 2.4 kernel is far from being perfect, but if you let me know what they are, maybe I'll be able to help in finding the cure. Of course, if you already have a solution, and just doing some final testing, I can wait - but I'm still curious ;)...

    EDIT: I read your changelog. Nice features! Besides jffs, the mount command enhancements are very useful (Is that simply a bisybox config? I'll take a look...), and I'm eager to try your build configurations - hope that will solve all issues git did not...
     
  34. jayhawkmd

    jayhawkmd Networkin' Nut Member

    Thank you!

    Just wanted to say a quick thanks for this build! It has brought me back to Tomato from having to spend some time using DD-WRT for the print server support. It's good to be using Tomato again! I am using this firmware on both an Asus WL-500gP V1 as well as an Asus WL-520gU with no problems so far. Keep up the good work!
     
  35. teddy_bear

    teddy_bear Network Guru Member

    Update - build 19

    • Restored original Tomato setting to show/hide UPnP server in "My Network Places".
    • Added scsi-stop command to spin down some USB drives (description can be found here).
    • Added GUI settings to require authentication to access Samba shares.
    • Upgraded Broadcom Wireless driver to version 4.158.4.0.
    • p910nd printer server is updated to the latest ver. 0.93.

    If you enable authenticated access to Samba shares, and have issues, most probably they are caused by your Windows settings, and can be easily resolved. Please try the following:

    On Windows Vista Ultimate clients:
    Run secpol.msc. Then select "Local Policies > Security Options", open "Network security: LAN Manager authentication level" and select "Send LM & NTLM - use NTLMv2 security if negotiated" instead of "Send NTLMv2 response only".

    On Windows Vista Home clients:
    Run regedit. Navigate to "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa\". Set "LMCompatibilityLevel" key to "1" which means "use NTLMv2 if available, or older versions if not."

    If you change the login name/password in Samba settings, you may need to reset the cached password in Windows (XP, Vista and other versions) - otherwise you may receive "Not available" or similar errors. To reset the connections cache, run the command:
    net use * /del /yes

    If you still have problems after trying all of the above, switch back to non-authenticated Samba access :) , or ask for help here...
     
  36. tcsoft

    tcsoft Networkin' Nut Member

    yeah!! the new wireless driver 4.158.4.0 solved my issues with WDS! THX
     
  37. me2az

    me2az Networkin' Nut Member

  38. teddy_bear

    teddy_bear Network Guru Member

    http://www.dd-wrt.com/wiki/index.php/Optware
    Definitely possible, but I have not installed Transmission myself. Maybe someone else can give you more details - there were people here who tried. Or search other forums...
    However, I would strongly discourage you from running a torrent client if your router only has 16MB RAM. Even on 32MB I wouldn't recommend it because torrent clients are very resource consuming apps, and can slow down everything else... But depending on your torrenting and other networking needs it may be acceptable for you.
     
  39. hsyah

    hsyah Networkin' Nut Member

    ASUS 500GP V2 32MB RAM 8MB FLASH
    How to add openvpn on tomato-ND-USB-v19.trx

    If anyone wants anything else in the build, let me know.


    test tomato-ND-USB-v19-VPN-v2.0005.trx [NO SAMBA]

    OPENVPN site to site ok
     
  40. huyou

    huyou Networkin' Nut Member

    I tried Transmission and some other BT clients, and settled to rtorrent. It is quite stable with some swap file. When it's downloading, the CPU usage is tiny, but it may use all the physical memory. When it is hashing, the CPU usage is almost 100%, and the router has no response to ssh or http. I tryed to run rtorrent with nice, it helped a little.

    Anyhow, if the stability of the router is not the most important thing, it can run as a torrent client.
     
  41. teddy_bear

    teddy_bear Network Guru Member

    You found it before I even announced it ;)... Or did you build one yourself?

    Anyway, the build I uploaded into "Experimental" folder is a merge of my USB mod (no Samba) with StPepper's OpenVPN mod from git repository. I have not tried to install this, and this build is absolutely not supported. Try at your own risk if you need it - hopefully it will work...
     
  42. hsyah

    hsyah Networkin' Nut Member

    HARDWARE

    ASUS 500GP V2 32MB RAM 8MB FLASH

    SOFTWARE

    tomato-ND-USB-v19-VPN-v2.0005.trx [no samba]

    Experimental (Unstable)

    tomato edit

    open vpn gui


    1 download tomato-ND-USB-v19-VPN-v2.0005.trx


    2 tomato_edit

    UnpackTomato.exe tomato-ND-USB-v19-VPN-v2.0005.trx


    3 add openvpn server files

    ca.crt server.key server.crt dh1024.pem

    4 tomato_edit

    PackTomato.exe tomato-ND-USB-v19-VPN-v2.0005.trx ndvpn.bin


    5 upload ndvpn.bin to ASUS 500GP V2



    6 SETUP tomato

    http://192.168.222.254

    init

    insmod /lib/modules/2.4.20/kernel/drivers/net/tun.o
    cp /usr/sbin/ca.crt /tmp
    cp /usr/sbin/server.key /tmp
    cp /usr/sbin/server.crt /tmp
    cp /usr/sbin/dh1024.pem /tmp


    firewall


    iptables -I INPUT 1 -p udp --dport 443 -j ACCEPT
    iptables -I INPUT 1 -p tcp --dport 443 -j ACCEPT
    iptables -I INPUT 1 -p udp --dport 1000 -j ACCEPT
    iptables -I INPUT 1 -p tcp --dport 1000 -j ACCEPT
    iptables -I INPUT 1 -p udp --dport 800 -j ACCEPT
    iptables -I INPUT 1 -p udp --dport 900 -j ACCEPT
    iptables -I INPUT 2 -p udp --dport 2000 -j ACCEPT
    iptables -I INPUT 2 -p udp --dport 2100 -j ACCEPT
    iptables -I FORWARD -i br0 -o tun0 -j ACCEPT
    iptables -I FORWARD -i tun0 -o br0 -j ACCEPT
    iptables -I INPUT 3 -i tun0 -p icmp -j ACCEPT
    iptables -I INPUT 3 -i tap0 -p icmp -j ACCEPT
    iptables -I INPUT 3 -i tap1 -p icmp -j ACCEPT


    Wan

    cd /tmp
    ln -s /usr/sbin/openvpn /tmp/myvpn

    #!/bin/sh
    cd /tmp
    openvpn --mktun --dev tap0
    brctl addif br0 tap0
    ifconfig tap0 0.0.0.0 promisc up

    openvpn --mktun --dev tap1
    brctl addif br0 tap1
    ifconfig tap1 0.0.0.0 promisc up

    openvpn --mktun --dev tap2
    brctl addif br0 tap2
    ifconfig tap2 0.0.0.0 promisc up



    echo "
    # Tunnel options
    mode server
    proto udp
    port 800
    dev tap0
    keepalive 15 60
    daemon
    verb 3
    comp-lzo
    # OpenVPN server mode options
    client-to-client
    duplicate-cn
    # TLS Mode Options
    tls-server
    ca ca.crt
    dh dh1024.pem
    cert server.crt
    key server.key
    " > openvpn.conf


    echo "
    # Tunnel options
    mode server
    proto udp
    port 2100
    dev tap1
    keepalive 15 60
    daemon
    verb 3
    comp-lzo
    # OpenVPN server mode options
    client-to-client
    duplicate-cn
    # TLS Mode Options
    tls-server
    ca ca.crt
    dh dh1024.pem
    cert server.crt
    key server.key
    " > openvpn1.conf



    # Config for Site-to-Site SiteA-SiteB
    echo "
    proto udp
    port 2000
    dev tun0
    secret /tmp/static.key
    verb 3
    comp-lzo
    keepalive 15 60
    daemon
    " > SiteA-SiteB.conf


    # Config for Static Key
    #
    # 2048 bit OpenVPN static key
    #
    echo "
    -----BEGIN OpenVPN Static key V1-----
    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    -----END OpenVPN Static key V1-----
    " > static.key
    #
    #
    # 2048 bit OpenVPN static key
    #
    echo "
    -----BEGIN OpenVPN Static key V1-----
    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    -----END OpenVPN Static key V1-----
    " > static1.key

    # Create interfaces
    /tmp/myvpn --mktun --dev tun0
    ifconfig tun0 10.0.0.1 netmask 255.255.255.0 promisc up

    # Create routes
    route add -net 192.168.2.0 netmask 255.255.255.0 gw 10.0.0.2

    sleep 5
    /tmp/myvpn --config openvpn.conf

    sleep 5
    /tmp/myvpn --config openvpn1.conf

    # Initiate the tunnel
    sleep 5
    /tmp/myvpn --config SiteA-SiteB.conf
    sleep 5
    /tmp/myvpn --dev tap2 --secret /tmp/static1.key --comp-lzo --port 1000 --cipher BF-CBC --proto udp --keepalive 10 60 --verb 3

    --daemon




    http://192.168.2.254


    init

    insmod /lib/modules/2.4.20/kernel/drivers/net/tun.o
    cp /usr/sbin/ca.crt /tmp
    cp /usr/sbin/server.key /tmp
    cp /usr/sbin/server.crt /tmp
    cp /usr/sbin/dh1024.pem /tmp


    firewall


    iptables -I INPUT 1 -p udp --dport 443 -j ACCEPT
    iptables -I INPUT 1 -p tcp --dport 443 -j ACCEPT
    iptables -I INPUT 1 -p udp --dport 1000 -j ACCEPT
    iptables -I INPUT 1 -p tcp --dport 1000 -j ACCEPT
    iptables -I INPUT 1 -p udp --dport 800 -j ACCEPT
    iptables -I INPUT 1 -p udp --dport 900 -j ACCEPT
    iptables -I INPUT 2 -p udp --dport 2000 -j ACCEPT
    iptables -I INPUT 2 -p udp --dport 2100 -j ACCEPT
    iptables -I FORWARD -i br0 -o tun0 -j ACCEPT
    iptables -I FORWARD -i tun0 -o br0 -j ACCEPT
    iptables -I INPUT 3 -i tun0 -p icmp -j ACCEPT
    iptables -I INPUT 3 -i tap0 -p icmp -j ACCEPT
    iptables -I INPUT 3 -i tap1 -p icmp -j ACCEPT


    Wan

    cd /tmp
    ln -s /usr/sbin/openvpn /tmp/myvpn

    #!/bin/sh
    cd /tmp
    openvpn --mktun --dev tap0
    brctl addif br0 tap0
    ifconfig tap0 0.0.0.0 promisc up

    openvpn --mktun --dev tap1
    brctl addif br0 tap1
    ifconfig tap1 0.0.0.0 promisc up

    openvpn --mktun --dev tap2
    brctl addif br0 tap2
    ifconfig tap2 0.0.0.0 promisc up



    echo "
    # Tunnel options
    mode server
    proto udp
    port 800
    dev tap0
    keepalive 15 60
    daemon
    verb 3
    comp-lzo
    # OpenVPN server mode options
    client-to-client
    duplicate-cn
    # TLS Mode Options
    tls-server
    ca ca.crt
    dh dh1024.pem
    cert server.crt
    key server.key
    " > openvpn.conf


    echo "
    # Tunnel options
    mode server
    proto udp
    port 2100
    dev tap1
    keepalive 15 60
    daemon
    verb 3
    comp-lzo
    # OpenVPN server mode options
    client-to-client
    duplicate-cn
    # TLS Mode Options
    tls-server
    ca ca.crt
    dh dh1024.pem
    cert server.crt
    key server.key
    " > openvpn1.conf



    # Config for Site-to-Site SiteA-SiteB
    echo "
    remote x.x.x.x
    proto udp
    port 2000

    dev tun0
    secret /tmp/static.key
    verb 3
    comp-lzo
    keepalive 15 60
    daemon
    " > SiteA-SiteB.conf


    # Config for Static Key
    #
    # 2048 bit OpenVPN static key
    #
    echo "
    -----BEGIN OpenVPN Static key V1-----
    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    -----END OpenVPN Static key V1-----
    " > static.key
    #
    #
    # 2048 bit OpenVPN static key
    #
    echo "
    -----BEGIN OpenVPN Static key V1-----
    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    -----END OpenVPN Static key V1-----
    " > static1.key

    # Create interfaces
    /tmp/myvpn --mktun --dev tun0
    ifconfig tun0 10.0.0.2 netmask 255.255.255.0 promisc up

    # Create routes
    route add -net 192.168.222.0 netmask 255.255.255.0 gw 10.0.0.1

    sleep 5
    /tmp/myvpn --config openvpn.conf

    sleep 5
    /tmp/myvpn --config openvpn1.conf

    # Initiate the tunnel
    sleep 5
    /tmp/myvpn --config SiteA-SiteB.conf
    sleep 5
    /tmp/myvpn --dev tap2 --secret /tmp/static1.key --comp-lzo --port 1000 --cipher BF-CBC --proto udp --keepalive 10 60 --verb 3

    --daemon



    http://i283.photobucket.com/albums/kk315/coolman123coolman123/usbvpn.jpg
     
  43. dadaniel

    dadaniel Network Guru Member

    The problem with the SES - Button of ASUS WL-500gv1 still exist.

    First operation is to turn WLAN off
    Second operation is to shutdown

    When pressed longer for shutdown, the LED blinks only once, then WLAN is turned off. No shutdown :(
     
  44. teddy_bear

    teddy_bear Network Guru Member

    Well... That part of code is not changed from the original Tomato code - but it can be affected by the WL driver upgrade. What build are you running - v19? Does anyone else have issues with SES button?

    The current build has been tested on a few other router models and buttons/leds work fine on these. Unfortunately I do not have access to WL-500gv1 to test and debug it - I'll try to look into it but can't promise anything.

    Could you post the output of gpio poll command when you run it in telnet or SSH session - a few lines before pushing the button, and then several lines (10 or more) while the button is pressed, and after it's released? You can temporarily clear your SES button actions for this test if needed. Hit "Ctrl-C" when done...

    What are the values of all "wl0gpioX" nvram variables (the output of nvram show | grep gpio)?

    Is it WL-500G or WL-500GPv1?

    Did the button work with vanilla Tomato?

    Also, before any further troubleshooting, try to erase NVRAM. If erasing won't fix the issue, you can always restore your settings from a backup :)...
     
  45. kovacsr89

    kovacsr89 Networkin' Nut Member

    I have ASUS WL-500GP v1 and the SES button doesnt work..
    If press it (shorter or longer) just the power led blinking..
     
  46. teddy_bear

    teddy_bear Network Guru Member

    Then the same questions (see my previous post) apply to you :)...

    Also, it seems that your behavior is different from dadaniel's - even though the model is the same. Dadaniel sais the led blinks once, you're saying yours keeps blinking. If the LED keeps blinking every second while the button is pressed it most probably means that the button is working, and the problem might be in the settings or somewhere else. Anyway, if you try what I asked it may help.
     
  47. kovacsr89

    kovacsr89 Networkin' Nut Member

    If I press the SES button for 1 second the power led is blinking..
    If I press longer then 1 sec then just blink once, but doesnt do the operation..
    Same if I erase nvram..

    root@RT-001FC660DAE8:/tmp/home/root# gpio
    Usage: gpio <enable|disable|poll> <pin>

    root@RT-001FC660DAE8:/tmp/home/root# nvram show | grep gpio
    cfe_wait_led_gpio=1
    gpio6=robo_reset
    gpio_0_name=soft_power_switch
    gpio_3_name=power_enable
    kernel_gpio_init_out_3=1
    kernel_gpio_init_out_6=1
    misc_io_mode=bcmgpio
    rescue_gpio=4
    reset_gpio=7
     
  48. teddy_bear

    teddy_bear Network Guru Member

    Oops, sorry :). I meant:
    gpio poll

    Also:
    v19?
    Have the button worked with official vanilla Tomato?

    Thanks!
     
  49. kovacsr89

    kovacsr89 Networkin' Nut Member

    Yes v19

    I dont try it.. But I will.. tonight :)

    root@RT-001FC660DAE8:/tmp/home/root# gpio poll
    000000EC ..23.567........
    000000EC ..23.567........
    000000EC ..23.567........
    000000EC ..23.567........
    000000EC ..23.567........
    000000EC ..23.567........
    000000FE .1234567........
    000000FC ..234567........
    000000FC ..234567........
    000000FC ..234567........
    000000FC ..234567........
    000000EC ..23.567........
    000000EC ..23.567........
    000000EC ..23.567........
    000000EC ..23.567........
    000000EC ..23.567........
    000000EC ..23.567........
    000000EC ..23.567........
    000000EC ..23.567........
    000000EC ..23.567........
     
  50. kovacsr89

    kovacsr89 Networkin' Nut Member

    SES button doesnt work with the official Tomato 1.23 and 1.23 ND in my router..
     
  51. teddy_bear

    teddy_bear Network Guru Member

    You mean - the official Tomato? If so, then at least I didn't break it :).
    I sent you a PM, will try to come up with something...

    EDIT: Founf a small bag in original Tomato code that disabled SES button functionality, and only affected 2 router models - WL500gp and WBR2G54. If kovacsr89 and dadaniel confirm that my fix works, it will be included in the next build.
     
  52. veejl

    veejl Networkin' Nut Member

    Thanks for all your work, Teddy!

    I got a few questions in terms of hooking up external USB devices to my Teddy Tomato 520GU.

    1) What partition format must the hard drive be in? FAT32, NTFS, EXT2, EXT3, HFS+?

    2) Once the USB hd is hooked up, and it says it has been mounted in the Tomato admin page, how do I access the drive from my laptop (Macbook)?


    Thanks a lot!
     
  53. teddy_bear

    teddy_bear Network Guru Member

    veejl,
    1. Read the 1st post and Samba-related posts linked from it.
    2. I do not know how to set it up on Mac, but if you can access Windows shares from your notebook, you should be able to see Samba shares too. The setup on the router should be self-explanatory I hope :). The easiest way is to enable auto-mount on USB page, enable file sharing (no authentication) and auto-share and specify the workgroup name on the File Sharing page. Then after you connect your USB drive to the router, it should appear as a share in the workgroup on your network.
     
  54. linx

    linx Guest

    Teddy Bear, thanks a bunch for all the work you've done on this! Based on your work, I've created detailed howtos on setting up tomato.

    http://www.society9.com/an-easy-guide-to-installing-tomato-on-the-asus-520gu/
    http://www.society9.com/setting-up-a-low-cost-nas-using-tomato/

    Thanks again!
     
  55. dadaniel

    dadaniel Network Guru Member

    Works for me .... great work :)
     
  56. Carlito

    Carlito Networkin' Nut Member

  57. ray123

    ray123 Networkin' Nut Member

    JFFS mods & updates.

    I have uploaded by mods & updates of V19 to http://www.mediafire.com/rayvt123

    There is a changelog, and 4 different build configurations.
    tomato-ND-USB-v19-jfs1-A.trx
    tomato-ND-USB-v19-jfs1-B.trx
    tomato-ND-USB-v19-jfs1-C.trx
    tomato-ND-USB-v19-jfs1-D.trx

    Also files that explains the different suffixes, and my todo list.

    Also Tomato-Advanced-Operation.doc. This is a MSWord file. Hopefully there are other files that people have either written or are planning to write, that will cover basic Tomato setup & operation. If anybody has anything they'd like to contribute to the Advanced Operation, please email to me and I'll include it.

    Summary of the changes (complete file is on mediafire):
    * Changes to jffs Now you can use Tomato's "/JFFS2" with as little as 192KB available.

    * Added "mount by label" support to the mount command.

    * mount -a is enabled and now works. In conjunction with mount-by-label, this makes it very easy to use the standard /etc/fstab for mounting discs.

    * Enhancements to the procedure of script executions. (See document)

    * Enhancements to restoring files at startup, such as /etc/fstab. (See document)

    * Removed the non-functional ipkg, to get more free space.
    * Trimmed some non-useful features out of busybox, to reduce the size.

    * Changes to the build makefiles, so that it's easier to build different configurations.

    * Misc fixes.

    Teddy Bear, et. al.:
    The patchset is rvt-v16-v19-jffs1.patchset.tgz. It has the patches, the changelog, and a copy of my build-summary log. This set of patches goes in clean in both v16 & v19 versions of the Tomato-ND-USB sources, as downloaded from git. The first few lines of the .patch file has the instructions. It's a simple one line command.
    A set of patches is the way that Linux kernel updates are (or at least: were) submitted and passed around. The advantage is that you can easily see what has been changed, and you can be sure of exactly what you have in the way of changes. No "Here is a bunch of huge files that I've been whacking on. You can try to figure out just what changed. Have a nice day."

    FWIW, this is just what I do when I grab a new source release from git. I put the old version into a tomato-v16-orig directory and the new one into tomato-v19-orig, and then run diff on the two trees, and then look at what you've changed between the two versions. Actually, that's how I caught a type bug that you somehow introduced. I can also easily see all the little tweaks that are being, um, tweaked, in miniupnp, for example. (My diff command is a bit complex, since I needed to exclude things like binary files, temp files, etc. If anybody wants it, let me know and I'll upload it.)

    Regards, ray
     
  58. ray123

    ray123 Networkin' Nut Member

    Oh yeah, almost forgot.
    I'm submitting this patchset to you, Teddy Bear, for inclusion to your next release.
     
  59. ray123

    ray123 Networkin' Nut Member

    Ah, yes. I've noticed bunches of problems with the existing USB code in Tomato. :frown1: But I haven't noticed anything that would cause it to corrupt drives, though.

    You can *probably* fix it by plugging it into a Windows box, go to MyComputer, rightclick the usb drive, then select "Format..." But that's only if the USB drive is only a little bit messed up. If it's badly messed up, Windows won't recognize it at all. You'd have to use something like Paragon Partition Manager ($$).

    You can *definitely* fix it by using the Tomato disk utilities that I put up. http://www.mediafire.com/file/y0ndydnmdj1/tomato_dskutils-v2.tgz
    More detailed instructions here: http://www.mediafire.com/file/umynd2lwm3f/use-dsk-utils.txt Make the entire flash drive one FAT partition.
     
  60. ray123

    ray123 Networkin' Nut Member

    There are really just a bunch of little problems, plus one major (IMHO) operational problems. I think perhaps you have accidently fixed one of the problems with a recent fix (mounting all the partitions on a USB drive instead of just the first one.)

    I have mods that take care of all the problems that I've recognized so far. I'll submit it soon----I put it aside to get the jffs (et. al.) mods out.

    First off, 99% of my USB messing around has been using a cheap-but-reliable unpowered 4-port hub that I got free-after-rebate from OfficeMax several years ago.

    (aside: In addition, I have an I/OMagic thing (I don't know just what to call it) that you can plug digital camera cards in to (CF, SD, etc.), and push a button to have it copy all the pictures to an internal hard drive. It's got an internal rechargeable battery. When I plug it into Windows, 5 drives show up. One for each of the memory card slots, and one for the hard drive. This isn't usable in the current Tomato builds, but it is with my mods.)

    One of my flash drives is very convenient because it has an LED that blinks whenever the computer accesses it. When I plug it in, it's dark. Then after a 3-5 seconds it starts to flash rapidly, then goes off. Immediately thereafter, it shows up in MyComputer (Windows) or the desktop (Ubuntu Linux). That flashing is the computer probing the drive to read the USB controller information and partition table.

    When I plugged in a drive, it would automount just fine. Unplug it, it umounts just fine. But plug it in again and it was hit-or-miss whether or not the LED would flicker and the drive get recognized/mounted. Very unpredictable. "Ah hah!", says I, "I recognize this type of thing from my decades of being a Professional Software Engineer. There are non-deterministic bugs in the code", he said. I knew what happens next. What happens next explains why I got balder and balder during my career.

    So I plugged in a USB extention cord so the hub is sitting between my monitor and keyboard so I can see the monitor and the LEDs at the same time, open up several telnet sessions to the router, turn on debugging log/printouts, and run "tail -f" on various log files.

    So, unplug everything, reboot, set up my tail's. Plug drive in, led flickers, the tail's scroll up with all the messages. Unplug, the tail's show more messages. Plug back in. Nothing. Nada. No flickers, no messages. Hmmm.

    Poke around. Open a web browser to the router, go to the NAS/USB page to see what's there. LED flickers, messages scroll, drive mounts. Hmmmmm. Repeat. Try different setting of USB check boxes. Give up, can't seem to find anything that is 100% repeatable.

    Unplug and replug again. Nothing.
    Do LS on the /dev/* that the drive had before I unplugged it. Bingo! Drive remounts. Unplug, replug. Nothing. Tried a different LS command. Nothing. Tried another different command. Bingo.

    Noticed that the Linux scsi subsystem complained vociferously at various stages in the process. That gave me the clue. All this took place over several days, and half a notebook of notes of what was tried and what was the result.

    It's very very touchy. Turns out that you need to do just the right thing to tickle the scsi subsystem to update its (internal state) information about the drive and the condition of what is on the drive.

    But now I've got a fix. Coming soon.
    ------------------------
    Stupid Linux braindead piece of design, sensibly discarded in 2.6, causes non-deterministic operational problems with USB drives.

    After a reboot, plug in a USB drive into port #4 on the hub. Plug another into port #1. Observe the mountpoints, ls the directories of the disks (this would be something like "ls -l /tmp/mnt/disc0_1".) Unplug and replug at random, using different random ports when you plug it. Observe that the mountpoints never change---the same drive has the same mountpoint no matter where you plug it in.

    Now, unplug everything, reboot, and plug one into port #4 and the other into port #1. Do ls on each drive's directory. STOP. Don't touch anything. Reboot. Do ls on each drive's directory. Notice that it is DIFFERENT!! The drives are reversed.

    What is going on is the way that Linux detects and enumerates USB components. They are enumerated in the temporal order in which they are detected. At system startup (when you boot), for USB devices that are already plugged in, this is usually always the same order---but it is not guaranteed to be in the same order.

    This causes the exact same problem in older Linux'es and older DOS/Windows when you shut down your machine and installed a new harddrive. Suddenly all the drives had a different ID. What used to be /dev/sda is now /dev/sdb, and the new virgin drive is /dev/sda.

    That's why Windows stores the drive letter of a disk on the disk itself, and allows you to change the drive letter of a disk---and it sticks. That's why Linux now uses mount-by-label and mount-by-uuid.

    So.....that's the problem(s). Pretty obscure, huh? And pretty hard to notice unless a) you are looking for it, and b) you are doing all sorts of kinky things to try to make bad things happen. Something that I had a good talent for as a software developer, back before I retired and started doing this stuff for free.

    Anyway.....I fixed all that stuff, including the operational difficulties. Cleaned up to code, too, and made a lot of it simpler. Again, something I learned in my software development days: complex code is more likely to have bugs, and is harder to follow, than simple code. Coming soon.
     
  61. Carlito

    Carlito Networkin' Nut Member

    Thanks for the heads up, but the drives ares not recognize at all by Windows, Mac OS, or Ubuntu. I tried Paragon Partition Manager but it won't show the drives. I can't access them so I'm unable to put your disk utility in the drive. Any other advice? Thanks.
     
  62. teddy_bear

    teddy_bear Network Guru Member

    Great set of changes Ray :)!
    I merged your patches with my mod in git, so they will be in the next release. There're 2 changes though that I decided not to use for now:
    - Pointing /opt to /tmp/opt. Since /opt is usually used for mounting I don't see a need to make it writable by itself;
    - Trimming Busybox - I went through the list of features you turned off, and apparently I used most of them in various scripts at some point. Some are even used by original Tomato (like traceroute).

    Also, please be more careful next time when making changes to existing Tomato functionality. Your changes to saving files in nvram broke SSH and HTTPS - fixing it now... EDIT: Hmm... Samba no longer works too - generates panic error on connect :frown:. Is it me merging it incorrectly? Somehow the build got screwed up, and shared libraries are now much smaller than in my previous builds. Will get to it tomorrow...

    How soon do you think you will have USB-related fixes ready? Not sure if it makes much sense to release another update now - with all your mods and some fixes/changes I made in the last few days, or it's better to wait for your next patch.

    I also looked at your todo list :) :
    That's strange... QoS works great for me, torrents download at full speed when bandwidth is available - that applies to utirrent and bitcomet as well.
    Yey! That would be great if you do that. There are a couple backports in the current code already, and I thought about it as well - but it is going to take a lot of time - definfitely not an easy task considering that the most of the kernel was basically rewritten from 2.4 to 2.6...
    This one I believe should be easier than 2.6->2.4 port. The USB driver, netfilter and most of the FAT/Ext2/Etx3 filesystems support already upgraded to 2.4.35-37. Still - this should be done very carefully to keep all Broadcom and Tomato custom changes. uClibc may need to be updated too... But we should leave something for Jon to do as well ;) - maybe this one?
     
  63. teddy_bear

    teddy_bear Network Guru Member

    Carlito,
    The first image you posted (probably 'USB Settings' page) is now showing up, so it's hard to say whether your drives are recognized and mounted or not. Do you see the drives in the "Attached Devices" list? Are they shown as "Not mounted"? Post your log as well with all messages after you plug your drives in. Without additional info it's not possible to help you.
     
  64. Carlito

    Carlito Networkin' Nut Member

    Here is the picture of what the USB page shows. http://img7.imageshack.us/img7/8232/80950675jh3.png


    As you can see the flash drives are not shown in any way.

    Here is the log file. http://www.mediafire.com/download.php?kzic2iyznim

    Thanks for all your help.
     
  65. davidehue

    davidehue Networkin' Nut Member

  66. teddy_bear

    teddy_bear Network Guru Member

    Were the drives attached to the router during boot up for which you sent the log? If so, it looks like they are not recognized at all - the router doesn't see them.

    You have USB 2.0 and OHCI/UHCI - all enabled. Try to keep only USB 2.0, and turn off OHCI/UHCI. If that won't help, try to leave only one of USB 1.1 checkboxes on - OHCI or UHCI - but not both. I don't remember which one is supported by the Asus since I'm only using 2.0. Reboot after each of these changes.

    Do you use a hub? Try to attach the drive directly to the router to eliminate a faulty or problematic hub.

    Do you have a printer? Did you have printer working with original Asus firmware?
    If nothing of the above helps, try to attach a printer (make sure printing support is enabled) and see if printer is recognized. If it's not, maybe the USB port is not working at all.
     
  67. Carlito

    Carlito Networkin' Nut Member

    I tried everything and nothing. My printer is recognize when connected to the router. Any other ideas? Thanks.
     
  68. Gold

    Gold Networkin' Nut Member

    Can i use Firmware Tomato RAF 1.23.8 by teddy bear on Asus WL-500g Deluxe ? or another tomatoe firmware ?
     
  69. davidehue

    davidehue Networkin' Nut Member

    @teddy_bear: can I use this firmware on my Linksys WRT54GL? Since the official release v1.23 is unstable on my WRT54GL :(
     
  70. teddy_bear

    teddy_bear Network Guru Member

    linx,
    Great guides! I linked them from the 1st post.
    But why does everybody think that DD-WRT needs to be flashed first :confused:? Although it works, you can also flash any version on Tomato directly over the Asus official firmware using the Asus firmware restoration utility :).

    Carlito,
    When you said "nothing", does it also mean - no messages in the log related to USB drive? If so, unfortunately I don't think I can help you more, sorry... Hard to figure out all problems without the hardware on hands... Out of all my USB flash and HDD drives only one is not recognized - but it emits a whole bunch of errors into the log, and Windows also does not always find it.

    The only other thing I can think of is if you're using USB-powered HDDs - the Asus USB port may not have enough power for it...

    Gold,
    You can use any version of Tomato on your router. The Tomato RAF is not my mod though - it's made by Victek and contains a different set of features. Choose which one you'd like to use based on the features needed. Some time ago Victek created a build including both - RAF and USB - mods, but there were a lot of changes and fixes applied to both mods since then.

    davidehue,
    As long as your corerev is 5 or more, you should be able to use this mod on your Linksys. The USB support can be turned off completely, and it should not take any resources then (other than flash space). Why do you think this mod will be better on your Linksys - because of new WL driver? If so, you may also try Victek ND mod - he also included the same WL driver, has some other features you may like, and with no USB support you will have more JFFS space if needed.
     
  71. Gold

    Gold Networkin' Nut Member

    I dont think Tomatoe is working on my WL-500g Deluxe (it is NOT the Asus WL500G Premium) and is a Broadcom BCM5365 chip rev 1 200 Mhz. DD_wrt is working but Tomatoe i can not boot ?? Tryed flashing Teddy Bear and Victek and the orginal Tomatoe firmware but no luck.

    wl0_corerev is 5
     
  72. TheCrow

    TheCrow Networkin' Nut Member

    teddy_bear, can integrate a torrent client in this fw ???
     
  73. teddy_bear

    teddy_bear Network Guru Member

    Yep... Sorry for misleading you. The WL500G (not Premium) is not in the list of routers officially supported by Tomato, so it probably won't work...
    No way :)... Install whatever torrent client you like from Optware.
     
  74. TheCrow

    TheCrow Networkin' Nut Member

    work to install torrent client to tomato fw??
     
  75. dadaniel

    dadaniel Network Guru Member

    Please read the first post! Look for "optware" and follow the links!
     
  76. absolon

    absolon Networkin' Nut Member

    Finally I decided install this MOD (v19). I'm reading this threat for days.
    First of all thanks for teddy_bear and all people for effort.
    Second - I have a problems :)

    1. I cannot connect to FTP from the outside. FTP client hangs for ages and nothing happen. When I use internal router IP I get "Welcome message" but still I'm not able to login:

    "cannot change directory: tmp/mnt/ftp_priv/user01"

    Any suggestions?
    Thanks in advance
     
  77. teddy_bear

    teddy_bear Network Guru Member

    Did you specify "Private Root Directory" as "ftp_priv"?

    First of all, the directory you specify in any of the settings here must exist. Also, if you do not specify the full path (i.e. starting from root directory "/"), it expands it by adding the default mount root "/tmp/mnt/" in front of the directory name.

    If you have an existing directory you want to use as a root folder for authenticated users access in private mode, specify a full path to it starting from the root. By the way, "Private" mode means eash user with "private" access will have its own private directory - it will be created automatically under existing "Private Root Directory". Is that what you wanted?
     
  78. ray123

    ray123 Networkin' Nut Member


    :blush: I have no way to check SSH & HTTPS. Sorry about that. Thought of making a little kludge that would convert them from rad64 to the packed way, similar to what was done for DD-WRT password, but a) didn't want to take up spece, b) forgot. :frown: I really wanted to have just one method of saving stuff into the nvram, and the base64 can't handle binary data. Truly, a far better way would be to store it gzip'ed or lzo'd. (Is there lzo code in there? I thought I read a comment bemoaning the fact that lzo code is in the kernel 3 or 4 times---but a quick grep didn't show anything.)

    opt: Yes. But what about the case where you want to squirrel away an "opt" tree on another drive, without devoting the whole drive to /opt? I thought what I did was in keeping with the way /etc and /home and /mnt were done. I thought that was pretty clever technique, BTW----a nifty way to write to directories that otherwise would not be writable on this tiny embedded system. It doesn't hurt to softlink /opt to /tmp/opt, and you can still mount a partition on /opt if you want to. I have a fuzzy vision of people putting ipkg and stuff like that on Tomato, we'll just have to give them the base to start out from. I've never used any of that kind of stuff myself, I just know that lots of people are clamoring for it.

    Busybox features: I was just trying to trim down the size, to get more space for jffs. Some of those things seemed silly. I mean, really, traceroute in the router?? BTW, you may have noticed the extra lines that come out of fpkg. One key item is line that goes like " Avail for jffs: 10 EBs + 57004". This means that there are 10 EBs (10 * 64KB) free and usable for jffs (64Kb on a 64KB boundary) plus 57,004 bytes that are un-used but not usable for jffs. So you can either trim the size down by 65536 - 57004 (= 8532) bytes and get one more EB for jffs, OR add up to 57kb more code before losing one more EB. I think that the thing to do is follow the model that I put into the makefile for different router .config's. Start with a "config_base" which is the standard base, and then add/remove sets of features to create the config to build. I put some (sketchy) comments in the makfiles, and think (he said humbly) that it should be prettyeasy to follow.

    Experimentally, I did a configuration that had the VPN system, and was able to build it and load it on my router. So I think that it'll be pretty easy now to add new features.

    Samba crashing: Yup, I had problems with that, too. Got it fixed, but maybe the fix didn't get uploaded. Drove me crazy trying to find it. The fix in the makefile. The original Makefile(s) were not quite right. As is well known, mere mortals have a very hard time writing anything but simple makefiles. I've always thought that maybe Richard Stallman and that type could, but hardly anybody else. ;-) Getting comples dependencies right--especially for libraries--is damned hard. The orginal makefiles had some awkward things, and as you probably know are somewhat touchy. Anyway.....the problem is/was that the uClibc didn't normally get rebuilt, just assumed to be right and used without a rebuild. I fixed it so that make distclean deleted the uClibc .o's and .a's and .so's, than added a dependency so that they would get built anew.

    Being a "creatively lazy" guy, I set it up so that with one command I could build all the various configurations. I just type "make distclean ; make V1=v19 V2=jfs1_usb1 a b c d" and go to coffee. Come back 20-30 minutes later and all 4 trx files are built.

    BTW, my Linux machine is a cheap (albeit with 3 data disks set up as RAID-5), a single core AMD LE-1600 and 2GB ram. It's tucked away in the basement with no monitor or keyboard. But with a gigabte ethernet. It's main job in life is to be a RAID-5 fileserver to keep our thousands of digital pictures on. Hence the slow single core CPU. I do all my development from my Windows XP box using Xmanager2 to open up X-windows on my XP monitor. And kitty (on the XP box) to open up telnet sessions on the router. My wife walks by and sees my 24" monitor with 8-10 windows open --each with a different background color, and says "Oh, you're programming again." One window on the router is running "tail -f /var/log/messages", one is tail'ing /tmp/cprintf, one is running an infinite loop of "mount ; sleep 1". It's fun to be doing software development again!
     
  79. absolon

    absolon Networkin' Nut Member


    Thank you. I'm trying ask stupid question as less as possible :) but I'm linux newbie
    I still have problem with this.

    FTP:
    Public Root Directory* ----> /tmp/mnt/disc0_1/ftp_pub
    Private Root Directory* ---> /tmp/mnt/disc0_1/ftp_priv

    In Samba section my one and only folder is:
    /mnt/disc0_1 with name "share"

    I have full access to this (share) folder thru local area (Samba). I can read write delete etc. In this folder I created two additional folders ftp_pub and ftp_priv.

    Created two FTP accounts:
    test (read/write)
    test2 (private)


    When I use test account (read/write) I can download/upload/remove etc.
    With test2 (private) I got message:

    500 OOPS: Cannot change directory: /tmp/mnt/disc0_1/ftp_priv/test2

    Other strange things is that I'm not able even see login pop-up window if I use external public router IP. But my friend reported that he is able to connect to router from outside but he got same message as I got when connect with internal router IP - "500 OOPS:....."

    Please :rolleyes:

    P.S. Just came into my mind: Can FAT32 cause such problems?
     
  80. dadaniel

    dadaniel Network Guru Member

    There is no folder "test2", so you cannot enter it. Create it with samba or "test" account and try again.
     
  81. teddy_bear

    teddy_bear Network Guru Member

    He doesn't have to manually create this folder as long as the parent folder - /tmp/mnt/disc0_1/ftp_priv - existed before FTP server started. Private directories are auto-created by FTP server on startup whenever possible. If that's not working, then there's a bug somewhere...

    But if ftp_priv folder has been created on the attached USB drive after the FTP server is already up and running, then yes - the directory for each private user must be manually created there.
     
  82. absolon

    absolon Networkin' Nut Member

    I knew it I knew it, please do not kill me.
    I made stupid mistake with folder names. In tomato I have ftp_priv, but I've created ftp_prv :oops: Fixed and works now. I'm going to test it with friend later if it accessible from outside.

    Anyway strange thing is that I cannot connect if I use external IP (82.....) If I'm using internal 192.168.1.1 I can connect.
     
  83. ray123

    ray123 Networkin' Nut Member

    My next batch of enhancements is now up at http://www.mediafire.com/rayvt123.
    Summary:

    v19-jfs1_usb1

    * Many fixes in USB device hotplug code. More robust when handling
    several drives and hubs. Works with devices that have more than one
    disk on the controller (such as digital camera card hubs).

    * Web administration interface (NAS/USB page) fixed to work properly
    if USB drives are plugged/unplugged without refreshing the web page.
    Previously, the "unmount" click link could do the wrong thing (or no
    thing) if drives had been changed in the meantime. It didn't know
    that it was using obsolete information. Put code in to do a "mount"
    form the web page, but the web page doesn't have the necessary code
    yet.

    * If disc has a label, it gets mounted to "/mnt/LABEL" rather than
    "/mnt/disc#_partition#". So the same disc (actually: partition)
    will always be mounted on the same mountpoint, regardless of
    hardware ID. Hardware ID is dynamic for USB devices as the kernel
    enumerates them, but disk label is constant.

    * Mount by label/uuid is supported. Mount -a, and mounting via
    /etc/fstab work.

    * Swap drives (partitions) work. Put the appropriate line(s) in
    /etc/fstab and put "swapon -a" in a hotplug script. While automatic
    dismount on unplug happens with a data disk (ext2, ext3, fat), there
    is no automatic swapoff done on a swap disk. You should do a
    swapoff BEFORE unplugging any USB disk that has a swap partition.

    * Samba is no longer killed and restarted when a USB disk is plugged
    or unplugged. Rather, the config file is updated and Samba is given
    a HUP signal to tell it to re-read the config file.
     
  84. ray123

    ray123 Networkin' Nut Member

    This is USB drive stuff. I've updated the Advanced Operations, too, and the changelog and my todo list.

    Main differences: hotplugging of USB drives is a lot more robust. A lot of edge cases have been fixed, so that doing extraordinary and weird things with USB devices, hubs, cables and plugging/unplugging generally works properly now.

    Swapping to swap partitions now works. Mount -a, mount-by-label, /etc/fstab, etc. all work.

    Automount of USB drives mounts to "/tmp/mnt/DISKLABEL", if the partition has a label. If there is no label, it mounts to "/mnt/mnt/discD_N", just like the old versions, where "D" is an arbitrary number assigned by the kernel and N is a partition number assigned more-or-less arbitrarily by the kernel.

    Samba (smbd) no longer gets killed and restarted when a disk is hotplugged. Rather, it is given a HUP signal to tell it to re-read its config file. This probably needs to be done with vsftpd, too, but I didn't do that yet.

    There are a couple of obnoxious things that would not work properly in the old hotplug code. Biggest one: if you had several USB flash drives plugged into a hub, and then plug & unplug the hub itself, you get many simultaneous hotplug events. One for the hub and one for each drive. The old code assumed that the events would come one at a time, instead of all at once. So sometimes it would miss a hotplug event and never mount that drive. Fixed.

    The old code didn't handle a device which had multiple LUNs. It assumed that each device was exactly one disc. So it wouldn't see all the discs on that device, only the first one. Fixed.

    It was possible to get it confused such that it would think that a USB device was plugged in even if it wasn't. When this happned, it would not unmount the disk. Fixed.

    The Linux scsis-ubsytem needs to be tickled in just the right way to convince it to re-validate a drive. If it didn't get the right tickle, it would think the disk was in when it wasn't, or think that it wasn't in when it was.

    Interaction with the NAS-USB Web interface. Fixed to work properly when there are USB controller devices with more than one disk device on the controller. Fixed the problem with the WEB page using possibly obsolete data when you manually dismounted a disk from the web page. The core software has the ability to mount an unmounted disk, upon command from the web page. However, the necessary changes haven't been done in the http files to utilize this feature.


    To amaze and amuse, here is what is currently on my Asus WL-520GU:
    Code:
    > mount
    - on /cifs1 type cifs (rw,noatime,nodiratime,unc=\\...
    - on /cifs2 type cifs (rw,noatime,nodiratime,unc=\\...
    /dev/discs/disc1/part1 on /tmp/mnt/PocketDrive type ext2 (rw,noatime,nodiratime)
    /dev/discs/disc6/part1 on /tmp/mnt/TRAVELDRIVE type vfat (rw,noatime)
    /dev/discs/disc0/part1 on /tmp/mnt/CORSAIR type vfat (rw,noatime)
    /dev/discs/disc2/part1 on /tmp/mnt/disc2_1 type vfat (rw,noatime)
    /dev/discs/disc3/part1 on /tmp/mnt/cf-8mb type ext2 (rw,noatime,nodiratime)
    /dev/discs/disc5/part1 on /tmp/mnt/IOMAGIC-HD type vfat (rw,noatime)
    And:
    Code:
    > ls -lFg /dev/discs/*
     /dev/discs/disc0 -> ../scsi/host0/bus0/target0/lun0/
     /dev/discs/disc1 -> ../scsi/host1/bus0/target0/lun0/
     /dev/discs/disc2 -> ../scsi/host2/bus0/target0/lun0/
     /dev/discs/disc3 -> ../scsi/host2/bus0/target0/lun1/
     /dev/discs/disc4 -> ../scsi/host2/bus0/target0/lun2/
     /dev/discs/disc5 -> ../scsi/host2/bus0/target0/lun3/
     /dev/discs/disc6 -> ../scsi/host3/bus0/target0/lun0/
     /dev/discs/disc7 -> ../scsi/host4/bus0/target0/lun0/
    And:


    Code:
    > cat /proc/partitions
    major minor  #blocks  name
       8     0    3948544 scsi/host0/bus0/target0/lun0/disc
       8     1    3948512 scsi/host0/bus0/target0/lun0/part1
       8    16      64000 scsi/host1/bus0/target0/lun0/disc
       8    17      40131 scsi/host1/bus0/target0/lun0/part1
       8    18      16065 scsi/host1/bus0/target0/lun0/part2
       8    32     993792 scsi/host2/bus0/target0/lun0/disc
       8    33     993667 scsi/host2/bus0/target0/lun0/part1
       8    48       7840 scsi/host2/bus0/target0/lun1/disc
       8    49       7824 scsi/host2/bus0/target0/lun1/part1
       8    64    1048575 scsi/host2/bus0/target0/lun2/disc
       8    80   19535040 scsi/host2/bus0/target0/lun3/disc
       8    81   19535008 scsi/host2/bus0/target0/lun3/part1
       8    96    2014208 scsi/host3/bus0/target0/lun0/disc
       8    97    2014192 scsi/host3/bus0/target0/lun0/part1
       8   112    1048575 scsi/host4/bus0/target0/lun0/disc
    You can see that host2 is a multi-device controller, supporting 4 devices (luns 0-3). Right now it has 1 hard drive, 1 CF camera card, and 1 SD camera card. I could plug in one more camera card if I had one. Host1 is a 64MB MicroAdvantage Pocketdrive with one ext2 partition and one swap partition. All but one of the disks has a label. One is a CF camera card formatted as ext2.

    The patchset is on http://www.mediafire.com/rayvt123 , filename: rvt-v19-jfs1-usb1.patchset.tgz
    The patchset should install right on top of v19 okay. Perhaps a couple of minor pieces will require manual tweaks. It is really for installing on top of my previous patchset, the jfs1. There is no significant overlap between these two sets of patches, so things should be pretty clean.

    Hopefully, I dodn't break anything this time. ;-)
     
  85. teddy_bear

    teddy_bear Network Guru Member

    And I just finished integrating your previous patches with a set of my own changes... Good deal I did not release v20 yet - was going to do it tonight. :)...

    I have not looked yet - will do when I get home - but I'm sure it will not apply cleanly, especially considering that I apparently was working in the same direction, and made a bunch of changes to hotplugging code myself ;)...

    Do these patches include your previous patchset as well? It will be much easier to apply if they do not... (EDIT - I reread your post, looks like they are to be applied on top of the previous set - that's good). Also, for all of your future patches, it would be great if you can provide separate files for each "feature". For example, for your previous patchset it would be - (1) jffs1, (2) script executions and storing files in nvram, (3) build changes, (4) bug fixes, (5) misc, (6) colors in menuconfig (geez - I could not stand those reds :eek:, so I had to roll this part back)... This way I can easily apply them step-by-step verifying each change separately, and make separate commits and maybe even separate branches in git for easier re-integration. Sorry, I meant to ask about it last time, but forgot...

    Thank you, I'm eager to see what you did to improve USB handling...
     
  86. teddy_bear

    teddy_bear Network Guru Member

    Gold, if you - or anyone else - are interested in getting WL-500G Deluxe supported by this mod, please let me know...
     
  87. jnengland77

    jnengland77 Guest

    Good job guys. The firmware (v19) works great on my new WL-520gu. I don't have a USB hub (yet), but I'll buy one pretty soon. And I have plenty of old USB drives to plug into it (two 128 MB, one 256 MB ). Plus my 80 GB USB hard drive partitioned as ext3, and vfat ), which is currently plugged it. I have ftp setup, and it works great (1.8 to 2.2 MB/s; wired; USB 2.0 loaded only).

    Wireless performance is great, despite a lot of interference from other routers in the dorm, and the schools own wireless. Although the performance seems a lot better under Arch Linux on my laptop compared to Windows XP. But I bought the router for next year when I'm out of the dorms (still going to be going to college though).

    Flashing the router was easy. I, basically, followed the OpenWRT guide and linx's guide.
    1) Put it into fail-safe mode by a) unplugging and replugging it inthen holding down the reset (aka restore) button. The power LED should blink on and off.
    2) Install Asus firmware restoration tool.
    3) Run the tool and select the firmware you want.
    notes: It warns you that the tool is picky and doesn't like
    other network interfaces and to disable them.
    4) Wait a few minutes unplug it and plug it back in.
    5) Change any settings you want and your done.

    Anyway keep up the good work.
     
  88. ray123

    ray123 Networkin' Nut Member

    I couldn't read the yellow on white, so I had to change it to something I could see. I guess somebody must have be playing hooky the day they had the lecture on using contrasting colors for foreground and background. :biggrin: Red was the first garish choice--I had to do a lot of experimenting to find out just which define it was. Please change it to something that will be readable on the white background. Perhaps a tasteful blue?

    You may have figured out that feeping creaturism is a weakness of mine. :eek: However, I don't expect to be making any more massive changes in the future. I think I'll do more work on jffs next. Or maybe merging in VPN and making a VPN build profile. Unless you have plans in that regard. But anybody could do that, but not everyone can easily muck with the jffs code.
     
  89. teddy_bear

    teddy_bear Network Guru Member

    No problem, I came up with a solution that will work for both of us ;). I created a separate branch in git just for the color changes. I'll merge it into the main "release" branch, so when you get the sources it will be there. I do not do any work on the main branch anyway - I work on "feature" branches, and then merge them into the main one when it's time to make a build...

    I'm going through your latest changes now, merging them into my current sources (of course, half-manual :wink: after some other changes I made). Great set of improvements! After that I also do not plan any big changes - this is taking wa-a-ay more time than I can allow myself to spend...
     
  90. davidehue

    davidehue Networkin' Nut Member

    @teddy_bear: is it possible for you to enable some webcam to be added to the usb port?
     
  91. a9988cd

    a9988cd Addicted to LI Member

    I hoped can support WL-500G Deluxe and "Boot router from usb flash drive".


    thanks.
     
  92. Gold

    Gold Networkin' Nut Member

    yes i am very very interested in getteing WL-500G Deluxe to working with your mod :thumbup: thx
     
  93. scope666

    scope666 Guest



    Just wanted to say that your version of Tomato is working MUCH better for me on an Asus WL-520GU than the stock version. I was having the infamous "Intel 3945abg can't connect to Tomato" problem even with the fix that's been posted. I decided to try your version before I gave up on Tomato and low and behold your version fixed the problem!

    THANKS!!! :)
     
  94. teddy_bear

    teddy_bear Network Guru Member

    Gold and a9988cd,

    You both have PMs with a link to the test build that may work on WL-500gD. If it boots up, but some minor things don't work properly - like buttons and LEDs - we can try to troubelshoot and fix them. But if it doesn't even boot, unfortunately I won't be able to do anything else without the router on hands - all I could do by guessing and looking at other firmware codes has been done...
     
  95. teddy_bear

    teddy_bear Network Guru Member

    Don't worry about VPN integration. If there's a demand for combined mod, I can easily merge it in git - last time it took me less than 15 mins to do the merge resolving any conflicts.
    If you know about any improvements you can do for jffs, that will be the best thing for you to work on - nobody else will take care of it I guess :)...
    Other than that, I suggest you slow down and wait for the next Tomato version - we need to leave something for Jon to do, and the less changes we make the easier it will be to reintegrate with future official Tomato releases :wink:...
     
  96. freddyspam

    freddyspam Networkin' Nut Member

    First of all, thank you teddy_bear so much for the work you've done on these firmware releases. It is much appreciated. Having said that, I have a problem which I haven't been able to resolve even after reading every page in this thread and searching the internet.

    I have a usb drive attached to a 520gu, and I can access it through ftp and transfer files to it. However I cannot get the file sharing to work. Here is what I get in the log every time I turn it on:

    Feb 18 23:45:07 nas daemon.err nmbd[480]: [2009/02/18 23:45:07, 0] lib/util_sock.c:eek:pen_socket_in(826)
    Feb 18 23:45:07 nas daemon.err nmbd[480]: Get_Hostbyname: Unknown host nas
    Feb 18 23:45:07 nas daemon.err smbd[482]: [2009/02/18 23:45:07, 0] lib/util_sock.c:eek:pen_socket_in(826)
    Feb 18 23:45:07 nas daemon.err smbd[482]: Get_Hostbyname: Unknown host nas
    Feb 18 23:45:08 nas daemon.err nmbd[480]: [2009/02/18 23:45:08, 0] lib/util_sock.c:eek:pen_socket_in(826)
    Feb 18 23:45:08 nas daemon.err nmbd[480]: Get_Hostbyname: Unknown host nas

    All three happen at the same time and nothing will appear in my network even after doing the tweak to vista you suggested. Any help would be greatly appreciated. Thank you.
     
  97. ju421019

    ju421019 Networkin' Nut Member

    Hey Teddy - when are you releasing your next version?

    I read in the previous page it was suppose to be 2/19 and is going to be the last one.

    Thanks
     
  98. trevorw

    trevorw Networkin' Nut Member

    teddy_bear, a big thank you for the improvements you made to the Tomato firmware - the USB support simply rocks.
    I'd like to add one request, not sure if it's possible. It seems the EZSETUP (the equivalent of SES button on Asus) is not working in tomato, can you do anything about that?
    It would be really useful to use that button to unmount devices or toggle wifi on/off w/o having to go through the web interface.

    Thanks and keep up the good work!
     
  99. absolon

    absolon Networkin' Nut Member

    One more general question about further upgrade process.
    Will "backup configuration" option save all settings? I mean Samba share, FTP accounts, QoS, Access Restriction, Port Forward and so on. Or just some basic settings?

    btw. I vote for trevorw's request about EZSETUP button :)

    Thanks
     
  100. teddy_bear

    teddy_bear Network Guru Member

    freddyspam,
    Hard to say what's wrong without further details. For many people it just works :). What do you have your router's hostname set to on the "Basic -> Identification" page? What are all your settings on the "File Sharing" page? Maybe try posting your complete log since the boot up to the moment you get these error messages...

    ju421019,
    Did I promise to anybody to release it on 2/19 :wink:?

    trevorw,
    It would be helpful if you guys mention the router model when asking to fix anything...

    absolon,
    Yes, all settings you see in the GUI will be saved.
     

Share This Page