Hi. My Buffalo WZR-HP-AG300H is said to have AR9220 and AR9223.
root@ag300h:/# cat /sys/devices/pci0000\:00/0000\:00\:11.0/subsystem_device 0xa097 root@ag300h:/# cat /sys/devices/pci0000\:00/0000\:00\:12.0/subsystem_device 0xa096 --- shinoda On 2012/08/16, at 1:08, Daniel Golle wrote: > This takes the device_id and subsystem_id from the EEPROM, I'll add > the info for other Rt3xxx chips in the next days. > > Signed-off-by: Daniel Golle <[email protected]> > > diff --git a/package/iwinfo/src/iwinfo_lib.c b/package/iwinfo/src/iwinfo_lib.c > index b2fc6aa..5ca0a45 100644 > --- a/package/iwinfo/src/iwinfo_lib.c > +++ b/package/iwinfo/src/iwinfo_lib.c > @@ -314,6 +314,7 @@ const struct iwinfo_iso3166_label IWINFO_ISO3166_NAMES[] > = { > > const char VENDOR_UBNT[] = "Ubiquiti"; > const char VENDOR_ATH[] = "Atheros"; > +const char VENDOR_RALINK[] = "RaLink"; > > const struct iwinfo_hardware_entry IWINFO_HARDWARE_ENTRIES[] = { > /* { vendor, model, vendorid, deviceid, subsys vendorid, subsys deviceid, > poweroff, freqoff } */ > @@ -368,6 +369,7 @@ const struct iwinfo_hardware_entry > IWINFO_HARDWARE_ENTRIES[] = { > { VENDOR_ATH, "AR9220", 0x168c, 0x0029, 0x168c, 0xa094, > 0, 0 }, > { VENDOR_ATH, "AR9223", 0x168c, 0x0029, 0x168c, 0xa095, > 0, 0 }, > { VENDOR_ATH, "AR9285", 0x168c, 0x002b, 0x168c, 0xa091, > 0, 0 }, > + { VENDOR_RALINK, "Rt3352", 0x1814, 0x3352, 0x1814, 0x000c, > 0, 0 }, > #endif > { NULL } > }; > diff --git a/package/iwinfo/src/iwinfo_utils.c > b/package/iwinfo/src/iwinfo_utils.c > index 514f34b..c430652 100644 > --- a/package/iwinfo/src/iwinfo_utils.c > +++ b/package/iwinfo/src/iwinfo_utils.c > @@ -165,7 +165,8 @@ int iwinfo_hardware_id_from_mtd(struct iwinfo_hardware_id > *id) > while (fgets(buf, sizeof(buf), mtd) > 0) > { > if (fscanf(mtd, "mtd%d: %*x %x %127s", &off, &len, buf) < 3 || > - (strcmp(buf, "\"boardconfig\"") && strcmp(buf, > "\"EEPROM\""))) > + (strcmp(buf, "\"boardconfig\"") && strcmp(buf, > "\"EEPROM\"") && > + strcmp(buf, "\"factory\"")) ) > { > off = -1; > continue; > @@ -212,6 +213,26 @@ int iwinfo_hardware_id_from_mtd(struct > iwinfo_hardware_id *id) > id->subsystem_device_id = bc[off + 0x14]; > break; > } > + /* Rt3xxx SoC */ > + else if ((bc[off] == 0x3352) || (bc[off] == 0x5233) || > + (bc[off] == 0x3350) || (bc[off] == 0x5033) || > + (bc[off] == 0x3050) || (bc[off] == 0x5030) || > + (bc[off] == 0x3052) || (bc[off] == 0x5230)) > + { > + /* vendor: RaLink */ > + id->vendor_id = 0x1814; > + id->subsystem_vendor_id = 0x1814; > + > + /* device */ > + if (bc[off] & 0xf0 == 0x30) > + id->device_id = ( bc[off] >> 8 ) | > + ( bc[off] & 0x00ff ) << > 8; > + else > + id->device_id = bc[off]; > + > + /* subsystem from EEPROM_NIC_CONF0_RF_TYPE */ > + id->subsystem_device_id = ( bc[off + 0x1a] & > 0x0f00 ) >> 8; > + } > } > > munmap(bc, len); > -- > 1.7.11.4 > > _______________________________________________ > openwrt-devel mailing list > [email protected] > https://lists.openwrt.org/mailman/listinfo/openwrt-devel _______________________________________________ openwrt-devel mailing list [email protected] https://lists.openwrt.org/mailman/listinfo/openwrt-devel
