TP-Link WDR3600: Router! Print-Server?

Posted: 25th October 2012 by knoppi in Computer Stuff, Linux
Tags: , ,

I recently bought the TP-Link TL-WDR3600, a router I thought would be very fine as it has two USB ports to attach printers, scanners, external disks, whatever. My officemate told me of routers like this so I got curious.
I installed it first lika any simple router which worked quite well of course, but for some reason I did this within Windows 7. There I installed some special tool which seemed to be intended for helping getting a USB printer to work. Again this was quite easy and soon after, the first page came out of the printer.

A bit later I rebooted into Linux (Ubuntu 12.04 at that moment). I just tried to attach the printer as a network printer thinking this was the way to go. But it wasn’t. On the net I found no howto or something similar, the TP-Link webpage also was quiet about that and their support hasn’t answered me yet (it’s six days ago, that I wrote them).

What I found on their webpage was some GPL section where you can download the operating system of the router or at the least all the GPL parts of it. I chose the one for my router, unpacked it, and looked through the folder. See what I found: usbip. Promising, isn’t it?

Googling for ‘usbip ubuntu’ is much more fun than googling for ‘linux wdr3600’.

Let’s directly go to the result I started with:
http://www.howtoforge.com/how-to-set-up-a-usb-over-ip-server-and-client-with-ubuntu-10.04
The usbip project’s homepage is
http://usbip.sourceforge.net/

Actually page 2 is the interesting one with instructions for the client installation as the server was already setup. The steps I chose from the tutorial were the following:
Install usbip (rather simple):
sudo apt-get install usbip
I went on with loading the Virtual Host Controller Interface
sudo modprobe vhci-hcd
And checking the module loading:
lsmod | grep vhci
yields:
vhci_hcd 22542 0
usbip_core 15904 1 vhci_hcd

My router’s ip is 192.168.1.1, so the important step should be:
sudo usbip -l 192.168.1.1
which results in:
- 192.168.1.1 failed

WTF. I have to draw breath and rethink. Maybe I have one more look at the sources…

Ok, started with this one more look. Still a lot to learn about Linux and its available tools. THis is one of the main conclusions of this moment. But ok, I got to know busybox, this is fine, ok ifconfig is outdated, ip addr is the way to go… I mean, I am something like a linux sysadmin for the members of my chair. Fortunately they never come with serious problems and I’m not involved in problems relevant for security.

But enough self-doubt. What did I find? Someone, who is able to read, clearly has an advantage. There is one more usb-related app. It’s called kcodes_usbip. So there exist several ones. Fine. Who is kcodes? This should be the corresponding webpage.
As soon as the update of my Linux distribution is finished I will go on with this topic.

    • knoppi says:

      This sounds interesting, I will look again on november 26th, as I’m far away from home at the moment. At least I’m not the only one with this problem, maybe we can push TP-Link to publish a Linux tool to connect with the USB-IP-Server. I sent them a question about which software they are using but got no reply until now.

  1. solkar says:

    I ran into the same prob.

    Two addenda:
    I)When the WDR3600 “Print Server” feature is in “Online” status, it periodically broadcasts
    port #7437 “faximum” UDP discoveries

    Dec 4 20:40:51 foobar kernel: [..] FW REJECT (input): IN=eth0 OUT= MAC=xx:xx:xx:yy:yy:yy:yy SRC=XXX.XXX.XXX.1 DST=255.255.255.255 LEN=201 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF PROTO=UDP SPT=NNNNNN DPT=7437 LEN=181

    II) TP-Link offers a “Print Server Application Guide” (Google , first hit page)

    as my syslog tells me.

    Regards, S.

  2. knoppi says:

    I got a reply from TP-Link to my support question. You find the answer at http://blog.knofafo.de/?p=197

  3. anto says:

    Hello. I have the same problem with tp-link TD-W8968. I just tried with ipusb from my Ubuntu 12.04 but nothing worked. I also got access to the modem via telnet and reading the various dirs content i found the smb.conf file that should be the Samba server configuration. In my opinion this file is incomplete due the “printer” section missing. I attach the smb.conf file and the output of var/run/usb_devices in the router hopin you can help me to solve the problem. Thank in advance and sorry for my english.
    /var/samba/lib # cat smb.conf
    [global]
    workgroup = WORKGROUP
    netbios name = ADSL router
    server string = Samba Server
    security = share
    max connections = 6
    max smbd processes = 6
    deadtime = 1
    socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
    unix charset = UTF8
    display charset = UTF8
    bind interfaces only = yes
    stat cache = no
    interfaces = 192.168.1.1/255.255.255.0

    /var/run # cat usb_devices

    T: Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh= 2
    B: Alloc= 0/900 us ( 0%), #Int= 0, #Iso= 0
    D: Ver= 1.10 Cls=09(hub ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
    P: Vendor=0000 ProdID=0000 Rev= 2.06
    S: Manufacturer=Linux 2.6.22.15 ohci_hcd
    S: Product=OHCI Host Controller
    S: SerialNumber=0000:02:03.0
    C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr= 0mA
    I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
    E: Ad=81(I) Atr=03(Int.) MxPS= 2 Ivl=255ms

    T: Bus=02 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 19 Spd=12 MxCh= 0
    D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=16 #Cfgs= 1
    P: Vendor=04e8 ProdID=326c Rev= 1.00
    S: Manufacturer=Samsung
    S: Product=Samsung ML-2010
    S: SerialNumber=3A21BKAYC16721Z.
    C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr= 0mA
    I:* If#= 0 Alt= 0 #EPs= 2 Cls=07(print) Sub=01 Prot=02 Driver=KC NetUSB General Driver
    E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms
    E: Ad=83(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms

    T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=480 MxCh= 2
    B: Alloc= 0/800 us ( 0%), #Int= 0, #Iso= 0
    D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=01 MxPS=64 #Cfgs= 1
    P: Vendor=0000 ProdID=0000 Rev= 2.06
    S: Manufacturer=Linux 2.6.22.15 ehci_hcd
    S: Product=EHCI Host Controller
    S: SerialNumber=0000:02:03.3
    C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr= 0mA
    I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
    E: Ad=81(I) Atr=03(Int.) MxPS= 4 Ivl=256ms

  4. […] the history leading to this post, read TP-Link WDR3600: Router! Print-Server? and TP-Link WDR3600 – no information […]

  5. Mark says:

    I listed the strings in the TP-Link windows driver and it is definitely using kcodes and seems to identify it as a KC300. So far it appears it may be a proprietary protocol, but I’m still checking.