# Can't use D-Link 502-T Router through USB -- Pl help.



## kagashe (Apr 16, 2009)

Hi,

I use D-Link 502-T Router through USB on most Linux distributions. While installing Free BSD 7.1 the installation utility could not detect the Router through USB, therefore, I temporarily connected it through Ethernet. After installation I tried the Router through USB but 'dmesg | tail' tells me that it was detected as 'ugen0" but no driver got loaded to use it as "Ethernet on USB".

On Linux "cdc_ether" and other required modules get loaded automatically for this router when plugged in USB port. For Free BSD I plugged it in before start-up.

I googled to get the information for the required module on Free BSD and tried 'kldload umodem' but it does not work.

My ethernet cable is not good quality and I prefer to use the router through USB.

Please help me set-up the router through USB.

kagashe


----------



## SirDice (Apr 16, 2009)

Buy a new ethernet cable, it's not like they cost an arm and a leg.


----------



## kagashe (Apr 16, 2009)

SirDice said:
			
		

> Buy a new ethernet cable, it's not like they cost an arm and a leg.


I would rather not use Free BSD.

Look. I am prepared to learn. Like there was one generic driver called "cdce" but it seems it is not present on Free BSD 7.1.

It is possible that I have to recompile the kernel or simply insert product id in some file and recompile the driver and the kernel.

kagashe


----------



## SirDice (Apr 16, 2009)

AFAIK there are no USB DSL modem drivers. Just use the ethernet connection.


----------



## kagashe (Apr 16, 2009)

SirDice said:
			
		

> AFAIK there are no USB DSL modem drivers. Just use the ethernet connection.


Sorry. Ethernet adapters are  listed on Free BSD 7.1 release notes in this section and many are USB.

By the way this modem is not listed even under NIC, although, it works.

kagashe


----------



## SirDice (Apr 16, 2009)

kagashe said:
			
		

> Sorry. Ethernet adapters are  listed on Free BSD 7.1 release notes in this section and many are USB.


An ethernet adaptor is NOT the same as an xDSL modem. Different technology.



> By the way this modem is not listed even under NIC, although, it works.


That's because you have a standard TCP/IP ethernet connection with the modem, your ethernet NIC is listed and is correctly detected. For the USB connection to work you will need a USB xDSL modem driver.


----------



## kagashe (Apr 16, 2009)

One final question:
Please see cdce driver page.

Although the page lists the supported hardware there is a caveat added:


> Many USB devices notoriously fail to report their class and interfaces correctly. Undetected products might work flawlessly when their vendor and product IDs are added to the driver manually.


Where do I add the vendor and product ID and try this driver?

kagashe


----------



## SirDice (Apr 16, 2009)

That would probably be in /usr/src/sys/dev/usb/if_cdce.c:

```
static const struct cdce_type cdce_devs[] = {
  {{ USB_VENDOR_ACERLABS, USB_PRODUCT_ACERLABS_M5632 }, CDCE_NO_UNION },
  {{ USB_VENDOR_AMBIT, USB_PRODUCT_AMBIT_NTL_250 }, CDCE_NO_UNION },
  {{ USB_VENDOR_COMPAQ, USB_PRODUCT_COMPAQ_IPAQLINUX }, CDCE_NO_UNION },
  {{ USB_VENDOR_GMATE, USB_PRODUCT_GMATE_YP3X00 }, CDCE_NO_UNION },
  {{ USB_VENDOR_MOTOROLA2, USB_PRODUCT_MOTOROLA2_USBLAN }, CDCE_ZAURUS | CDCE_NO_UNION },
  {{ USB_VENDOR_MOTOROLA2, USB_PRODUCT_MOTOROLA2_USBLAN2 }, CDCE_ZAURUS | CDCE_NO_UNION },
  {{ USB_VENDOR_NETCHIP, USB_PRODUCT_NETCHIP_ETHERNETGADGET }, CDCE_NO_UNION },
  {{ USB_VENDOR_PROLIFIC, USB_PRODUCT_PROLIFIC_PL2501 }, CDCE_NO_UNION },
  {{ USB_VENDOR_SHARP, USB_PRODUCT_SHARP_SL5500 }, CDCE_ZAURUS },
  {{ USB_VENDOR_SHARP, USB_PRODUCT_SHARP_SL5600 }, CDCE_ZAURUS | CDCE_NO_UNION },
  {{ USB_VENDOR_SHARP, USB_PRODUCT_SHARP_SLA300 }, CDCE_ZAURUS | CDCE_NO_UNION },
  {{ USB_VENDOR_SHARP, USB_PRODUCT_SHARP_SLC700 }, CDCE_ZAURUS | CDCE_NO_UNION },
  {{ USB_VENDOR_SHARP, USB_PRODUCT_SHARP_SLC750 }, CDCE_ZAURUS | CDCE_NO_UNION },
};
```

But I have no idea what you should add and where those USB_* are defined (probably somewhere in <dev/usb/usb*.h>)


----------

