Asus WL-500W

From DD-WRT Wiki

(Difference between revisions)
Jump to: navigation, search
Revision as of 22:01, 13 January 2010 (edit)
Masterman (Talk | contribs)
(Installing Frater's Optware)
← Previous diff
Revision as of 22:01, 13 January 2010 (edit) (undo)
Masterman (Talk | contribs)
(Installing Frater's Optware)
Next diff →
Line 136: Line 136:
This is the latest, greatest and easiest way to enable Optware on your Router, and add an enormous amount of flexibility to it. It is highly recommended. This is the latest, greatest and easiest way to enable Optware on your Router, and add an enormous amount of flexibility to it. It is highly recommended.
-Please see [[Optware, the right way]] for more detailed instruction+Please see [[Optware, the Right Way]] for more detailed instruction

Revision as of 22:01, 13 January 2010

Contents

ASUS WL500W

Introduction

This How To is intended to walk someone through configuring a basic USB printer and a USB storage device on their ASUS WL-500W router. The majority of the information comes from the other ASUS WL500 series Wiki's as well as other websites. There are great USB how to articles on the DD-WRT wiki, so if what is listed in this how-to does not suit your needs, search the Wiki and the Forums! And remember Google is your freind!

Firmware

A fresh firmware flash is highly recommended as well as a clearing of the NVRAM. Starting from a clean slate will provide the smallest chance of encountering a random problem as these units can be some-what temperamental. Flash your WL500W router with either the latest DD-WRT Mega firmware (v24 SP2 or later) or the Eko DD-WRT NEWD/NEWD2 Big, or even a mini USB release that includes full USB support in a mini firmware package. Why bother with the reduced functionality of a mini build when this router has 8MB flash?

There are several advantages. The mini is a fraction of the size, yet provides the vast majority of the functionality of the larger builds. For this small sacrifice, you get a much more lean and efficient setup, including...

  • A nearly 5.0MB JFFS2 partition
  • Nearly 90% free system memory on a fully configured system
  • Full USB support, easily enabled from the web GUI (just like Mega)
  • Faster, leaner (Merely observational, but noteworthy)


IMPORTANT

Consider the following or you run the risk of BRICKING your router:

Brainslayers mega flash size - 7.33MB

Eko's Big Flash size - 5.9MB

Now, the error only occurs when JFFS2 is enabled and the router reboots, so you are safe if you DONT enable JFFS2.

Total available JFFS2 size for BS's build is 640KB which overwhelms the kernel and causes a panic. Even using a storage device with the command mount -o bind /mnt/jffs /jffs will still cause a kernel panic.

Eko's JFFS2 partition size is 1640KB+, allowing much more room.

I tested this on BS's 12996,12874 and 12533 builds and partially bricked my router several times. (A simple power disconnect for 30 secs will allow it to recover)

Eko's build however works flawlessly AND provides the SAME features (except for connection warning) as BS's.

One thing I am still unsure of is why this particular model Asus router is subject to this bug, but in the mean time, I suggest using Eko's Big build until the dev's can work it out..

Initial Prep

  1. Complete your standard WAN, LAN, DHCP configuration so that your router has working Internet access
    Note: This guide will not explain these details, since they are very well documented elsewhere
  2. Under Services, enable:
    Secure Shell (SSHd)
    Telnet (optional, select this if you have no idea how to connect to an SSH server)
    USB modules which you need (Core USB support, UHCI, OHCI, USB 2.0, USB Storage, ext2/ext3, FAT, USB Printing, Automatic drive mount)

For example, if you only want to install Optware packages on 2.0 device you can enable : Core USB support, USB 2.0, USB Storage, ext2/ext3 FS support

  • Save & then Apply Settings
  • Under Administration > Management:
  • Enable JFFS2 Support
  • Clean JFFS2
  • Save & then Apply Settings
  • Reboot Router

NOTE If attempting to use USB storage with multiple partitions for /opt , /jffs , /mnt, do NOT enable JFFS2. Once the USB storage is configured, JFFS will reside on the mounted drive partition.

Using Telnet or SSH to install the printer driver

If you wish to keep it simple, you can use the command line in Windows to telnet to your router.

Steps:

  1. Make sure Telnet is enabled under Services on your router.
  2. In Windows XP, go to Start->Run and type cmd. A DOS window will pop up.
  3. Type telnet 192.168.1.1 into the prompt and let it connect.
  4. Enter the user name (default is root) and press enter.
  5. Enter the password. Be careful when typing, as the character will not display when you type them in.
  6. You should now be connected to your router via Telnet with a DD-WRT Splash picture in the DOS prompt.

You must have JFFS2 enabled for the following to work, as well as an EKO Big build. Brainslayers Mega builds will not allow this to work! If you are not using a Big or Mega firmware, then no need to worry!

Steps:

  1. Type cd /jffs
  2. Type mkdir -p /jffs/tmp/ipkg
  3. Type ipkg update
  4. Type ipkg install p910nd
  5. Let it install and download the packages.
  6. Type reboot into the command line.

You're done!

Configure the Printer from a Windows/Linux Client

If planning to use both a printer and take advantage of the USB storage support with the awesome advantages of Optware, go to THIS link. The below information is still useful though even after following the link!


  • From Windows, go to Control Panel, Printers, Add Printer
  • Choose Local, create new port Standard TCP/IP Port
  • Set Device Type to TCP/IP
  • For Hostname or IP field, set to router IP (default is 192.168.1.1)
  • On Vista, do not query printer for driver
  • On next screen, click custom
  • Manually select the printer from list or select Have Disk to add a new printer driver
  • Note: On Vista, many newer HP Deskjet printers can be set to HP Deskjet 990c since no Vista drivers are available from HP.

Print Services

Make sure it is enabled under the Services->USB tab. If it isn't select it, click save, wait 10 secs, then click apply. This will reboot your router. Also make sure Automatic Drive Mount is enabled.

  • In the drop down menu, you have three choices. /mnt /opt /jffs. You will need to select /jffs for the Print server to work, as well as clicking Apply Settings.
  • Plug the USB cord into the router, give it a few seconds and it should recognize. If not, your configuration settings are incorrect, or you do not have a build that is V24 sp2 or later.

The following link will assist with any problems:

(keep in mind that it was composed before SP2, and is for the 520gU, which doesn't matter, but will offer the old-school way of setting it up/diagnosing problems) http://wl520gu.googlepages.com/

Adding USB Storage

ONLY USE HARD DISKS WITH THEIR OWN POWER SUPPLY'S!


This section will be dedicated to both a USB flash drive and other USB storage devices such as hard disks. It is also recommended that the drive be formatted/partitioned to a Linux format (ext2/3). You may use FAT or FAT32, but not only will throughput speeds be slowed down, file sizes are a problem (FAT32 is limited to 4GB file sizes), and you will not be able to use optware or Linux swap. The following is HIGHLY technical and even those with alot of experience may have problems. It takes alot of time and patience to make this work properly and in the fashion you want it to. For novice users, I recommend just sticking to the basics until you understand what really is at play here.









Installing Frater's Optware

This is the latest, greatest and easiest way to enable Optware on your Router, and add an enormous amount of flexibility to it. It is highly recommended.

Please see Optware, the Right Way for more detailed instruction


Potential services that you may want to incorporate through Optware:


  • Bash instead of shell in busybox (LFS support)
  • Automounting and unmounting of storage device partitions
  • Network printing
  • Watchprinter
  • Torrent transmission with watchdog
  • Hotmount
  • Pre-configured samba share
  • Reverse proxy featuring pound
  • Service tool
  • Xinetd
  • Pound
  • Asterisk
  • Lighttpd
  • Vlighttpd
  • Countryblock
  • AsiaBlock
  • Services running as other users than root
  • Vim with proper terminal support
  • Twonky Media
  • News Server
  • Other various useful tools

Using PuTTy to enable/disable Services

Image:Puttyexample.png



The BusyBox/Telnet Commands to enable/disable the services are are follows:

service - show all services (enabled/disabled)
service <service name> - if "status" is supported it will run the service-script with "status" asparameter. 
service <service name> on - Enable the script (chmod +x  /opt/etc/init.d/S<servicescript>)
service <service name> off - Disable the script (chmod -x  /opt/etc/init.d/S<servicescript>)
service <service name> <parameter> - Run the script with the parameter.

Examples:

service
service pound
service pound off
service pound on
service pound stop


service automount start - mount all partitions
service automount stop - umount all partitions instead of the one to /opt
service automount status - show all partitions
service automount unmount <partition|mountpoint> - unmount that partition and remove it fromautomount
service automount nomount <partition> - Do not automount this partition
service automount nonomount <partition> - remove this partition from the nomount list


NOTE

You can also turn a service on or off through the web interface command line in Administration-> Commands (for people who don't like the hassle of SSH):

Examples:

/opt/usr/sbin/service transmission-daemon on
/opt/usr/sbin/service transmission-daemon start
/opt/usr/sbin/service xinetd on
/opt/usr/sbin/service xinetd start


Choose the service(s) you wish to execute and click Run Commands in the Administration->Commands box.

You are ready to go!

BusyBox/Telnet Commands:


The commands are:

service - show all services (enabled/disabled)
service <service name> - if "status" is supported it will run the service-script with "status" asparameter. 
service <service name> on - Enable the script (chmod +x  /opt/etc/init.d/S<servicescript>)
service <service name> off - Disable the script (chmod -x  /opt/etc/init.d/S<servicescript>)
service <service name> <parameter> - Run the script with the parameter.

Examples:

service
service pound
service pound off
service pound on
service pound stop


service automount start - mount all partitions
service automount stop - umount all partitions instead of the one to /opt
service automount status - show all partitions
service automount unmount <partition|mountpoint> - unmount that partition and remove it fromautomount
service automount nomount <partition> - Do not automount this partition
service automount nonomount <partition> - remove this partition from the nomount list


Useful scripts

mount
fdisk -l
blkid
df -h
cat /tmp/fdisk
cat /tmp/blkid
cat /opt/etc/automount
cat /opt/etc/nomount 
lsusb

Activating Swap

OLD method. Fraters Optware automatically mounts your Swap



1. Insure the swap partition is formatted correctly by using the Optware busybox mkswap command

# /opt/bin/busybox mkswap /dev/scsi/host0/bus0/target0/lun0/part2

2. Use the free command to verify your swap space is active

# free
             total         used         free       shared      buffers
Mem:        13048        12564          484            0          908
Swap:        72252            0        72252
Total:        85300        12564        72736

3. Using the DD-WRT web GUI screen, go to the Administration/Commands screen, and click 'Edit'. Add the busybox swapon command below everything else so swap will be enabled whenever the router reboots. Click on Save Startup to save your startup commands. Your terminal session will be disconnected

/opt/bin/busybox swapon /dev/scsi/host0/bus0/target0/lun0/part2

4. Using the DD-WRT web GUI screen, go to the Administration/Management tab, scroll to the bottom, and click on Reboot Router

5. After a minute, restart your terminal session, and use the free command again. This verifies your swap space is activated whenever the router reboots

Installing Samba

OLD method, see Fraters Optware Above



1. Using the terminal session, use the Optware ipkg-opt command to update your repository, remove any Samba packages installed with Optware, then download and install the Samba software

# /opt/bin/ipkg-opt update 
Downloading http://ipkg.nslu2-linux.org/feeds/optware/ddwrt/cross/stable/Packages.gz
Inflating http://ipkg.nslu2-linux.org/feeds/optware/ddwrt/cross/stable/Packages.gz
Updated list of available packages in /opt/lib/ipkg/lists/optware
Successfully terminated.
# /opt/bin/ipkg-opt remove samba
# /opt/bin/ipkg-opt install samba2

2. Samba uses a default Linux user name of nobody but DD-WRT doesn't provide this user name by default. The workaround is to add this user to the DD-WRT user/password file every time the router reboots.

3. Using the DD-WRT web GUI screen, go to the Administration/Commands screen. Add the following command to the bottom of your startup commands

echo "nobody:*:65534:65534:nobody:/var:/bin/false" >>/tmp/etc/passwd

4. Using the DD-WRT web GUI screen, go to the Administration/Management tab, scroll to the bottom, and click on Reboot Router'

5. After a minute, restart your terminal session, and check the user/password file to insure the nobody user has been added following a reboot

# grep nobody /tmp/etc/passwd
nobody:*:65534:65534:nobody:/var:/bin/false

6. Create a shared data directory on your hard disk drive

# cd /jffs/mnt/disk1
# mkdir share
# chmod 777 share


7. Edit the Samba configuration file to add this share at the bottom of the file

# cd /opt/etc/samba
# cat >>smb.conf  <<EOF
[disk1]
   comment = DD-WRT shared disk
   path = /jffs/mnt/disk1/share
   public = yes
   writable = yes
   printable = no
   create mask = 0666
EOF


8. Edit the Samba configuration file to:

8.1) change the default workgroup name. Yours should match whatever is on all your other computers.

8.2) Define the range of IP addresses allowed

8.3) Announce itself on your network


# vi smb.conf
[global]
# workgroup = NT-Domain-Name or Workgroup-Name
  workgroup = MyWorkgroupName
# server string is the equivalent of the NT Description field
  server string = DD-WRT Samba Server
# This option is important for security. It allows you to restrict
# connections to machines which are on your local network. 
  hosts allow = 192.168.1.  127.
# Cause this host to announce itself to local subnets here
  remote announce = 192.168.1.255
:wq
#


9. Test the Samba configuration by manually starting the two Samba daemons

# /opt/sbin/nmbd -D
# /opt/sbin/smbd -D


10. From your computer, browse your network. Go to the address bar, enter two back-slashes followed by the IP address of your router and press ENTER. You should see your shared disk drive

\\192.168.1.1

11. If you can see the drive, create a test directory and a test file within that directory from your computer.

12. Using the DD-WRT web GUI screen, go to the Administration/Commands screen. Add the following command to the bottom of your startup commands

/opt/etc/init.d/S80samba start


13. Using the DD-WRT web GUI screen, go to the Administration/Management tab, scroll to the bottom, and click on Reboot Router

14. After a minute, browse your network again to insure the drive is shared after the router reboots