Recently had the chance to install DD-WRT on a Linksys E3000 router so that I could use the USB port on it to share a printer. Here are the steps that worked for me:
Installing DD-WRT onto the E3000
Credit to post on this link. I’m reposting this thread for archiving purposes.
Posted by: Sean Cullinan 5/15/2011 10:33 PM
In this article I will explain how to get a Linksys E3000 setup with DD-WRT Mega nv60k firmware. I originally wrote this article so that we could use the router as an OpenVPN client to the HMA Pro! VPN service, but after playing around with this version of the firmware I discovered that I couldn’t make this version work with OpenVPN. So I had to roll back to an older version of DD-WRT to get things working. If your goal is to use your Linksys E3000 router as an OpenVPN client please check out my other post instead.
The usual disclaimer applies with these instructions. These instructions will have you flashing the firmware on your router, always a risky proposition. You may brick your router. You may void the warranty. If you do brick your router or otherwise break it do not hold myself or blendblog.net responsible! I have vetted these instructions and they do work, but there is always risk when doing these things, and that risk is on you!
Please note that you will lose all your existing router settings by following this procedure. You cannot restore the factory settings from the factory firmware to the DD-WRT firmware that we will be installing. So write them down an
Now that that’s out of the way let’s get started:
Doing a full reset (30/30/30)
The first thing we are going to do is a full reset before proceeding. This is often called a “30/30/30” reset and it ensures that the router is totally “clean” without getting into the details.
1) Plug in the Linksys E-3000 router. Let it boot up, when the wifi and power light are on continue.
2) Using a ballpoint pen, paper clip or simliar instrument press and hold the reset button for 30 seconds (don’t cheat)
3) Continue holding the reset button while you unplug the router. Wait 30 seconds…continue holding!
4) Continue holding the reset button while you plug the router back in. Wait 30 seconds. You can now let go!
Connnecting the router to your PC and logging in
1) Plug the ethernet port of your computer to port 1 on the Linksys router.
2) Wait 10 seconds to get an IP address (default should be 192.168.1.1)
3) On your computer navigate to http://192.168.1.1 in your web browser.
4) Enter in “admin” as the username and “admin” as the password (these are the defaults). You should now be logged in!
Installing the Trailed Initial Flash Build of DD-WRT for the Linksys E3000
We need to first install this build of DD-WRT in order to upgrade to the “Mega build” of DD-WRT that contains the OpenVPN client in it.
1) Download the Trailed Initial Flash Build of DD-WRT (1-dd-wrt.v24-14853_NEWD-2_K2.6_std_usb_ftp-e3000.bin).
2) Navigate to the “Administration” tab in the router’s web interface.
3) Click the “Firmware Upgrade” sub tab in the router’s web interface.
4) Click the “Browse” button and select the file that you downloaded in step 1 which will be called 1-dd-wrt.v24-14853_NEWD-2_K2.6_std_usb_ftp-e3000.bin.
5) Press the “Start Upgrade” button. DO NOT POWER OFF YOUR ROUTER DURING THE UPGRADE!
6) When complete you will get a message that says “Upgrade is successful.” Press the Continue button and let the router reboot. Your browser may “timeout” which is ok.
Doing another full reset (30/30/30)
Just like before, you have to do another full reset after each firmware flash so get comfortable with this process!
1) Let the Linksys router boot up, when the wifi, ethernet port 1, and power light are on continue.
2) Unplug the Ethernet cable from port 1
3) Using a ballpoint pen, paper clip or simliar instrument press and hold the reset button for 30 seconds (don’t cheat)
3) Continue holding the reset button while you unplug the router. Wait 30 seconds…continue holding!
4) Continue holding the reset button while you plug the router back in. Wait 30 seconds. You can now let go!
Re-Connnecting the router to your PC and logging in
Now that DD-WRT is cleanly installed lets login and see it!
1) Plug the ethernet port of your computer to port 1 on the Linksys router.
2) Wait 10 seconds to get an IP address (default should be 192.168.1.1)
3) On your computer navigate to http://192.168.1.1 in your web browser.
4) DD-WRT will prompt you to enter in a router username and password. Use whatever you’d like but dont’ forget it! I had to do this twice, the first time it failed for some reason…nothing to worry about.
5) Click on the setup tab and you will be prompted to enter the new username and password you created in step 4. Do so.
Installing the “Mini” build of DD-WRT
1) Download the Mini Build of DD-WRT for the Linksys E-3000 (2-dd-wrt.v24-16758_NEWD-2_K2.6_mini-e3000.bin).
2) Click the “Administration Tab” in the DD-WRT web interface
3) Click the “Firmware Upgrade” sub tab in the DD-WRT web interface
4) Click the “Browse” button and select the file that you downloaded in step 1 which will be called 2-dd-wrt.v24-16758_NEWD-2_K2.6_mini-e3000.bin.
5) Press the “Upgrade” button. It will count down from 300 although at some point the browser. DO NOT POWER OFF YOUR ROUTER DURING THE UPGRADE!
6) When complete you will get notification that the “Upgrade was successful…rebooting.” Let it reboot.
Doing another full reset (30/30/30)
Just like before, you have to do another full reset after each firmware flash so get comfortable with this process!
1) Let the Linksys router boot up, when the wifi, ethernet port 1, and power light are on continue.
2) Unplug the Ethernet cable from port 1
3) Using a ballpoint pen, paper clip or simliar instrument press and hold the reset button for 30 seconds (don’t cheat)
4) Continue holding the reset button while you unplug the router. Wait 30 seconds…continue holding!
5) Continue holding the reset button while you plug the router back in. Wait 30 seconds. You can now let go!
Re-Connnecting the router to your PC and logging in
Now that DD-WRT mini is cleanly installed lets login and see it!
1) Plug the ethernet port of your computer to port 1 on the Linksys router.
2) Wait 10 seconds to get an IP address (default should be 192.168.1.1)
3) On your computer navigate to http://192.168.1.1 in your web browser.
4) DD-WRT will prompt you to enter in a router username and password. Use whatever you’d like but dont’ forget it!
Installing the “Mega” build of DD-WRT
1) Download the Mega Build of DD-WRT for the Linksys E-3000 (3-dd-wrt.v24-16758_NEWD-2_K2.6_mega-nv60k.bin).
2) Click the “Administration Tab” in the DD-WRT web interface
3) Click the “Firmware Upgrade” sub tab in the DD-WRT web interface
4) Click the “Browse” button and select the file that you downloaded in step 1 which will be called 3-dd-wrt.v24-16758_NEWD-2_K2.6_mega-nv60k.bin.
5) Press the “Upgrade” button. It will count down from 300 although at some point the browser. DO NOT POWER OFF YOUR ROUTER DURING THE UPGRADE!
6) When complete you will get notification that the “Upgrade was successful…rebooting.” Let it reboot.
Re-Connnecting the router to your PC and logging in
Now that DD-WRT mini is cleanly installed lets login and see it!
1) Plug the ethernet port of your computer to port 1 on the Linksys router.
2) Wait 10 seconds to get an IP address (default should be 192.168.1.1)
3) On your computer navigate to http://192.168.1.1 in your web browser.
4) DD-WRT will prompt you to enter in a router username and password. Use whatever you’d like but dont’ forget it!
Setting up Printer
Credit to post on this link. I’m reposting this thread for archiving purposes.
On the web interface of the router (http://192.168.1.1):
Enable “Core USB Support”, “USB 1.1 Support (UHCI)”, “USB 1.1 Support (OHCI)”, “USB 2.0 Support”, “USB Printer Support” on the Services tab (all items under “USB Support” except for “USB Storage Support”). Note that the router did not recognize my printer if I left the USB 1.1 drivers unselected. This even though the printer supports USB 2.0.
It is *not* necesary to enable JFFS2 support via Administration, Management
Check that Secure Shell is enabled via Services, Service. SSHd and Password Login must be enabled
Connect your printer to the router
Reboot the router via Administration, Reboot Router
Via an ssh client (for example putty under Windows) connect via SSH on port 22 to the router:
login as: root
password:
check if your printer was recognized:
root@my-ddwrt-router:~# dmesg | grep usb usbcore: registered new interface driver usbfs usbcore: registered new interface driver hub usbcore: registered new device driver usb usb usb1: configuration #1 chosen from 1 choice usb usb2: configuration #1 chosen from 1 choice usb 2-1: new full speed USB device using ohci_hcd and address 2 usb 2-1: configuration #1 chosen from 1 choice usblp0: USB Bidirectional printer dev 2 if 0 alt 1 proto 2 vid 0x047E pid 0x1001 usbcore: registered new interface driver usblp
This indicates that a printer is detected on the USB port
Now enter
root@my-ddwrt-router:~# netstat -an Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 0.0.0.0:9100 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:53 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN tcp 0 268 192.168.1.1:22 192.168.1.118:53385 ESTABLISHED tcp 0 0 192.168.1.1:80 192.168.1.118:53547 TIME_WAIT tcp 0 0 192.168.1.1:80 192.168.1.118:53538 TIME_WAIT tcp 0 0 192.168.1.1:80 192.168.1.118:53545 TIME_WAIT tcp 0 0 192.168.1.1:80 192.168.1.118:53548 TIME_WAIT tcp 0 0 192.168.1.1:80 192.168.1.118:53543 TIME_WAIT tcp 0 0 192.168.1.1:80 192.168.1.118:53540 TIME_WAIT tcp 0 0 192.168.1.1:80 192.168.1.118:53544 TIME_WAIT tcp 0 0 192.168.1.1:80 192.168.1.118:53541 TIME_WAIT tcp 0 0 192.168.1.1:80 192.168.1.118:53542 TIME_WAIT tcp 0 0 192.168.1.1:80 192.168.1.118:53546 TIME_WAIT udp 0 0 127.0.0.1:34954 0.0.0.0:* udp 0 0 0.0.0.0:53 0.0.0.0:* udp 0 0 0.0.0.0:67 0.0.0.0:* raw 0 0 0.0.0.0:255 0.0.0.0:* 255 Active UNIX domain sockets (servers and established) Proto RefCnt Flags Type State I-Node Path unix 3 [ ] STREAM CONNECTED 1178 unix 3 [ ] STREAM CONNECTED 1177 unix 2 [ ] DGRAM 1161
We are especially interested in the line
tcp 0 0 0.0.0.0:9100 0.0.0.0:* LISTEN
It is saying that a service via tcp is listening on port 9100
And at last enter
root@my-ddwrt-router:~# ps | grep p9100d 927 root 1108 S p9100d -f /dev/lp0 0 -t 5
This also indicates that a process p9100d is running looking at port /dev/lp0 which is a printer port
You don’t have to install anything via ipkg or any other script. Everything is installed by default. So if you don’t have the expertise to ssh to your router, don’t despair, it is only to make sure that your router recognises your printer on the USB port.
To install the printer under Windows, use the following procedure:
Windows 7
Open Control Panel, Devices and Printers
Choose Add a printer
Add a local printer
Create a new port
Type of port: Standard TCP/IP Port
Hostname or IP address: 192.168.1.1
Make sure that the checkbox to query the printer and select a driver is not checked
Wait until the detection is done. It will say that the device is not found. Don’t despair
Choose Custom and then click Settings
Make sure that Protocol Raw is selected and Port 9100 is entered. That will be proposed.
Leave all other settings also as they were and press OK
Click Next.
Choose the printer driver for your printer.
Click Next
Give your printer a name
You don’t have to share the printer
Next
You can set it as default printer
Finish
Other
http://uis.georgetown.edu/software/documentation/winxp/winxp.network.printer.html
http://docs.info.apple.com/article.html?path=Mac/10.5/en/9031.html
Don’t forget that your routers default address is 192.168.1.1 and its port is 9100