mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2026-02-04 02:30:24 +01:00
2007-12-24 Dan Williams <dcbw@redhat.com>
* src/nm-device-802-11-wireless.c - (nm_device_802_11_wireless_get_frequency): handle drivers that return a channel # instead of a frequency git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3189 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
This commit is contained in:
parent
9d87ae887a
commit
da7b9ae009
2 changed files with 19 additions and 3 deletions
|
|
@ -1,3 +1,9 @@
|
|||
2007-12-24 Dan Williams <dcbw@redhat.com>
|
||||
|
||||
* src/nm-device-802-11-wireless.c
|
||||
- (nm_device_802_11_wireless_get_frequency): handle drivers that return
|
||||
a channel # instead of a frequency
|
||||
|
||||
2007-12-24 Dan Williams <dcbw@redhat.com>
|
||||
|
||||
* src/NetworkManagerAP.c
|
||||
|
|
|
|||
|
|
@ -1051,9 +1051,19 @@ nm_device_802_11_wireless_get_frequency (NMDevice80211Wireless *self)
|
|||
|
||||
nm_ioctl_info ("%s: About to GET IWFREQ.", iface);
|
||||
err = iw_get_ext (nm_dev_sock_get_fd (sk), iface, SIOCGIWFREQ, &wrq);
|
||||
if (err >= 0)
|
||||
freq = iw_freq2float (&wrq.u.freq);
|
||||
else if (err == -1)
|
||||
if (err >= 0) {
|
||||
if (wrq.u.freq.e == 0) {
|
||||
/* Some drivers report channel not frequency. Convert to a
|
||||
* frequency; but this assumes that the device is in b/g mode.
|
||||
*/
|
||||
if ((wrq.u.freq.m >= 1) && (wrq.u.freq.m <= 13))
|
||||
freq = 2407 + (5 * wrq.u.freq.m);
|
||||
else if (wrq.u.freq.m == 14)
|
||||
freq = 2484;
|
||||
} else {
|
||||
freq = iw_freq2float (&wrq.u.freq);
|
||||
}
|
||||
} else if (err == -1)
|
||||
nm_warning ("(%s) error getting frequency: %s", iface, strerror (errno));
|
||||
|
||||
nm_dev_sock_close (sk);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue