+ if x in self.friendlyNames.keys():
+ return self.friendlyNames.get(x, x)
+ self.friendlyNames[x] = self.getFriendlyAdapterNaming(x)
+ return self.friendlyNames.get(x, x) # when we have no friendly name, use adapter name
+
+ def getFriendlyAdapterNaming(self, iface):
+ name = None
+ if self.isWirelessInterface(iface):
+ if iface not in self.wlan_interfaces:
+ name = _("WLAN connection")
+ if len(self.wlan_interfaces):
+ name += " " + str(len(self.wlan_interfaces)+1)
+ self.wlan_interfaces.append(iface)
+ else:
+ if iface not in self.lan_interfaces:
+ name = _("LAN connection")
+ if len(self.lan_interfaces):
+ name += " " + str(len(self.lan_interfaces)+1)
+ self.lan_interfaces.append(iface)
+ return name
+
+ def useWlCommand(self, iface):
+ return iface and os_path.exists("/tmp/bcm/%s" % iface)
+
+ def getFriendlyAdapterDescription(self, iface):
+ if not self.isWirelessInterface(iface):
+ return _('Ethernet network interface')
+
+ moduledir = self.getWlanModuleDir(iface)
+ if moduledir:
+ name = os_path.basename(os_path.realpath(moduledir))
+ if name in ('ath_pci', 'ath5k'):
+ name = 'Atheros'
+ elif name in ('rt73','rt73usb','rt3070sta', 'rt5370sta'):
+ name = 'Ralink'
+ elif name == 'zd1211b':
+ name = 'Zydas'
+ elif name in ('r871x_usb_drv', 'rtw_usb_drv'):
+ name = 'Realtek'
+ elif self.isRalinkModule(iface):
+ name = 'Ralink'
+ elif self.useWlCommand(iface):
+ name = 'BroadCom'
+ else:
+ name = _('Unknown')
+
+ return name + ' ' + _('wireless network interface')
+
+ def isRalinkModule(self, iface):
+ import os
+# check vendor ID for lagacy driver
+ vendorID = "148f" # ralink vendor ID
+ idVendorPath = "/sys/class/net/%s/device/idVendor" % iface
+ if os.access(idVendorPath, os.R_OK):
+ if open(idVendorPath, "r").read().strip() == vendorID:
+ return True
+
+# check sys driver path for kernel driver
+ ralinkKmod = "rt2800usb" # ralink kernel driver name
+ driverPath = "/sys/class/net/%s/device/driver/" % iface
+ if os.path.exists(driverPath):
+ driverName = os.path.basename(os_path.realpath(driverPath))
+ if driverName == ralinkKmod:
+ return True
+ return False