OpenWrt – Rev 1

Subversion Repositories:
Rev:
--- a/cardsetting.c
+++ b/cardsetting.c
@@ -715,10 +715,25 @@ int acx1xx_get_station_id(acx_device_t *
        u8 *stationID = adev->ie_cmd_buf;
        const u8 *paddr;
        int i, res;
+       const char *prom_addr;
+       char *prom_getenv(const char *name);
 
        res = acx_interrogate(adev, stationID, ACX1xx_IE_DOT11_STATION_ID);
        paddr = &stationID[4];
-       for (i = 0; i < ETH_ALEN; i++) {
+       prom_addr = NULL;
+#ifdef CONFIG_VLYNQ
+       prom_addr = prom_getenv("macwlan");
+       if (prom_addr == NULL)
+               prom_addr = prom_getenv("mac_ap");
+#endif
+       if (prom_addr)
+               sscanf(prom_addr, "%hhx:%hhx:%hhx:%hhx:%hhx:%hhx", adev->dev_addr,
+                               adev->dev_addr + 1,
+                               adev->dev_addr + 2,
+                               adev->dev_addr + 3,
+                               adev->dev_addr + 4,
+                               adev->dev_addr + 5);
+       else for (i = 0; i < ETH_ALEN; i++) {
                /* we copy the MAC address (reversed in the card) to
                 * the netdevice's MAC address, and on ifup it will be
                 * copied into iwadev->dev_addr */