SMC2662W V.4
Alex Schultz <[email protected]>
| Newsgroups | gmane.linux.drivers.at76c503a.user |
|---|---|
| Message-ID | <[email protected]> |
Hi,
My friend is having troubles getting this driver to work with the SMC
2662W V.4 . I did some research and found a BSD driver that works with
it (http://vitsch.net/bsd/atuwi/) . There seems to be some funny quirks
that it works around. Relevant parts of the code seem to be:
#ifndef ATUWI_NO_RFMD2958_SMC
/* SMC2662 V.4 */
{ USB_VENDOR_ATMEL, USB_PRODUCT_ATMEL_AT76C505A,
RadioRFMD2958_SMC, ATUWI_QUIRK_NO_REMAP |
ATUWI_QUIRK_FW_DELAY },
#endif
Just the general info about it
/*
* The SMC2662w V.4 seems to require some time to do it's thing with
* the external firmware... 20 ms isn't enough, but 21 ms works 100
* times out of 100 tries. We'll wait a bit longer just to be sure
*/
if (sc->atuwi_quirk & ATUWI_QUIRK_FW_DELAY) {
atuwi_msleep(sc, 21 + 100);
}
Seems that it has a funny quirk (explained well in the comment)
err = atuwi_usb_request(sc, DFU_REMAP, 0, 0, 0, NULL);
if ((err) && (! sc->atuwi_quirk & ATUWI_QUIRK_NO_REMAP)) {
ERROR(("atuwi%d: remap failed!\n", sc->atuwi_unit));
return err;
}
Another quirk, something to do with remaps, seems to ignore what would
otherwise be a problem for other cards
#ifndef ATUWI_NO_RFMD2958_SMC
case RadioRFMD2958_SMC:
ptr=atuwi_fw_rfmd2958_smc_int;
bytes_left=sizeof(atuwi_fw_rfmd2958_smc_int);
DEBUG(FLAG_FW,("atuwi%d: loading RFMD2958-smc firmware...\n",
sc->atuwi_unit));
break;
#endif
Apparently it needs it's own firmware
#ifndef ATUWI_NO_RFMD2958_SMC
#include <dev/usb/atuwi_rfmd2958-smc_fw.h>
Again the new firmware
#ifndef ATUWI_NO_RFMD2958_SMC
case RadioRFMD2958_SMC:
ptr = atuwi_fw_rfmd2958_smc_ext;
bytes_left = sizeof(atuwi_fw_rfmd2958_smc_ext);
DEBUG(FLAG_FW,("atuwi%d: loading external RFMD2958-smc "
"firmware\n", sc->atuwi_unit));
break;
#endif
and more about the new firmware.
I don't have the programming experience to make a version of the driver
with support for these quirks, and I don't know if Jorg has the time to
impliment such things. I just though I'd mention what I've found about this.
Al