Ticket #2277 (closed defect: fixed)

Opened 6 years ago

Last modified 5 years ago

Wireless does not work with the 2.6.29 kernel

Reported by: arhuaco Owned by: openmoko-kernel
Priority: normal Milestone: stable-kernel-2009.1
Component: kernel Version:
Severity: normal Keywords:
Cc: Michael, Trimarchi, <michael@…> Blocked By:
Blocking: Estimated Completion (week):
HasPatchForReview: no PatchReviewResult:
Reproducible: always

Description

I haven't confirmed this bug. I'm copying from http://trac.shr-project.org/trac/ticket/418 .

With the SHR-testing from 04/16 and the 2.6.29 kernel wireless is not working. Using iwlist eth0 scan only works some of the times but no matter what eth0 is not able to connect with any AP even when using tools such as Mofi and wpa_supplicant. The low level tools like iwconfig fails to connect. For more information on this see the thread on the community mailing list http://lists.openmoko.org/pipermail/community/2009-April/046614.html. It also seems that the only way to get wireless to work is to go back to the 2.6.28 kernel, but makes the rest of the phone broken as found here http://lists.openmoko.org/pipermail/community/2009-April/046667.html

Attachments

ar6000-close-crash1.log (4.5 KB) - added by lindi 6 years ago.
lindi-rmmod-ar6000-oops.log (370.0 KB) - added by lindi 5 years ago.
I hit the bug again. This time I tried "rmmod ar6000" and got a kernel oops
lindi-ar6000-rmmod-panic2.txt (127.7 KB) - added by lindi 5 years ago.
this time "rmmod ar6000" caused kernel panic, Fatal exception in interrupt
ar6k.setpowerwhendisabled.patch (348 bytes) - added by budfive 5 years ago.
fixes oops described in budfive's comment 12
wifi_ifupdown.patch (1.1 KB) - added by budfive 5 years ago.
Proposed fix for https://docs.openmoko.org/trac/ticket/2277#comment:14
0001-Revert-AR6000-move-low-level-cleanup-from-ar6000_d.patch (6.0 KB) - added by PaulFertser 5 years ago.

Change History

comment:1 Changed 6 years ago by janvlug

I see similar behavior in Koolu Android beta 6 with kernel 2.6.29-rc3.

comment:2 Changed 6 years ago by lindi

Which git revision does that have? wifi works here just fine with andy-tracking 9ecc089861ab238e. (I am not using any encryption.)

comment:3 Changed 6 years ago by werner

Interesting. I also see this with 9029dff1f370018665a6e2999632a34fd0518f4d,
gta02_moredrivers_defconfig, and my minimal rootfs built in February. So
user space is pretty much exonerated.

My session went as follows:

  • booted and everything looked fine
  • iwlist scan and iwconfig essid both worked
  • association with an unencrypted AP succeeded. DHCP failed, but that appears to be a problem of that AP. (My laptop couldn't DHCP either.)
  • when I looked again a few minutes later, iwlist scan said "Interface doesn't support scanning." and iwconfig shows a "blank" interface and an attempt to set the ESSID yields "SET failed on device eth0 ; Input/output error."
  • unbind/bind did not solve the problem (!)

What's interesting is that unbind/bind only went as far as
mmc1: new SDIO card at address 0001
and didn't print any of the AR6k-specific messages.

  • Werner

comment:4 Changed 6 years ago by nicola.mfb

Here my test cases:

kernel git rev r81c61a7d1abb03aecd13f5395aba355e996a1641

  • startup shr-testing 22 april and wait until eth0 disappears from iwconfig/ifconfig
  • dbus call to change wifi policy to enabled

first issue: no wpa_supplicant is started (it's configured in /etc/network/interfaces), it seems as interfaces comes up so /etc/udev/scripts/network.sh ignores it and does not launch ifup, here a workaround is simple, but should be investigated.

  • iwconfig eth0 shows:
    eth0      AR6000 802.11g  ESSID:""  
              Mode:Managed  Bit Rate=1 Mb/s   Tx-Power=0 dBm   Sensitivity=0/3  
              Retry:on   
              Encryption key:off
              Power Management:on
              Link Quality:0/94  Signal level:-95 dBm  Noise level:-96 dBm
              Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
              Tx excessive retries:0  Invalid misc:0   Missed beacon:0
    
  • ifconfig eth0 down
  • iwconfig now show:
    eth0      AR6000 802.11g  ESSID:""  
              Mode:Managed  Bit Rate=1 Mb/s   Sensitivity=0  
              Encryption key:off
              Link Quality:0  Signal level:0  Noise level:0
              Rx invalid nwid:0  invalid crypt:0  invalid misc:0
    
    
  • dbus call to set wifi policy to auto
  • framworkd says:
    2009.04.30 01:21:27.646 frameworkd.resource  INFO     setting resource status for WiFi from enabled to disabling
    2009.04.30 01:21:27.924 frameworkd.resource  INFO     setting resource status for WiFi from disabling to disabled
    2009.04.30 01:21:27.971 ousaged              INFO     Disabled WiFi in 0.4 seconds
    2009.04.30 01:21:31.7 odeviced.powercontrol WARNING  odeviced.powercontrol expected a power change for WiFi to False which didn't happen
    

At this point wifi is not more usable for me.

Nicola

comment:5 Changed 6 years ago by nicola.mfb

I want to add that if I launch wpa_supplicant and kill it I got the same result, I suppose at exit it put down the interface?

If I shutdown the interface before killing wpa_supplicant works nice and I can connect/reconnect to my AP without apparently problems.

Nicola

comment:6 Changed 6 years ago by arhuaco

  • Reproducible set to sometimes

I tested with recent SHR testing and latest andy-tracking (4c9a8d5badc466a68d71754d47bbb792a8dc44da).

I killed wpa_supplicant and avahi then turned on WIFI using the GUI.
I'm sure I was not using usb0 also.

First, with open network.

root@om-gta02 ~ $ iwlist eth0 scan
eth0      Scan completed :
          Cell 01 - Address: 00:22:B0:47:56:F5
                    ESSID:"LINUX"
                    Mode:Master
                    Frequency:2.437 GHz (Channel 6)
                    Quality=56/94  Signal level=-39 dBm  Noise level=-95 dBm
                    Encryption key:off
                    Extra:bcn_int=100
                    Extra:ath_ie=dd0900037f010100600000

iwconfig eth0 essid LINUX

I set up an IP manually, gateway, etc and it worked.

root@om-gta02 ~ $ iwlist eth0 scan
eth0      Scan completed :
          Cell 01 - Address: 00:22:B0:47:56:F5
                    ESSID:"LINUX"
                    Mode:Master
                    Frequency:2.437 GHz (Channel 6)
                    Quality=56/94  Signal level=-39 dBm  Noise level=-95 dBm
                    Encryption key:on
                    Extra:bcn_int=100
                    Extra:ath_ie=dd0900037f010100600000

I also used WEP. The key is not my real key.

iwconfig eth0 key 00005D0005 essid LINUX

iwconfig eth0
eth0      AR6000 802.11g  ESSID:"LINUX"  
          Mode:Managed  Frequency:2.437 GHz  Access Point: 00:22:B0:47:56:F5   
          Bit Rate=54 Mb/s   Tx-Power=15 dBm   Sensitivity=0/3  
          Retry:on   
          Encryption key:0000-5D00-05   Security mode:open
          Power Management:off
          Link Quality:216/94  Signal level:-135 dBm  Noise level:-96 dBm
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:6

udhcpc worked.

$ udhcpc 
udhcpc (v1.13.2) started
run-parts: /etc/udhcpc.d/00avahi-autoipd exited with code 1
Sending discover...
Sending select for 192.168.0.101...
Lease of 192.168.0.101 obtained, lease time 604800
run-parts: /etc/udhcpc.d/00avahi-autoipd exited with code 1
adding dns 192.168.0.1

root@om-gta02 ~ $ ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 00:12:CF:8F:01:15  
          inet addr:192.168.0.101  Bcast:192.168.0.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:96 errors:0 dropped:0 overruns:0 frame:0
          TX packets:66 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:45197 (44.1 KiB)  TX bytes:4918 (4.8 KiB)

One thing to point out is that it did not work for me when I was far.

It worked when I was about 2 meters form the AP with better S/N ratio (I didn't test with intermediate points and I don't think it is relevant).

comment:7 Changed 6 years ago by vendion

For me on and open network and setting beside my AP, and wpa_supplicant turned off, this is what I get

iwlist eth0 scan (when it decided to work)

eth0      Scan completed :
          Cell 01 - Address: 00:1E:C7:F7:37:51
                    ESSID:"2WIRE274"
                    Mode:Master
                    Frequency:2.437 GHz (Channel 6)
                    Quality=6/94  Signal level=-89 dBm  Noise level=-95 dBm
                    Encryption key:on
                    Extra:bcn_int=100
          Cell 02 - Address: 00:17:3F:44:89:8C
                    ESSID:"Jimerson Home"
                    Mode:Master
                    Frequency:2.452 GHz (Channel 9)
                    Quality=3/94  Signal level=-92 dBm  Noise level=-95 dBm
                    Encryption key:off
                    Extra:bcn_int=100
                    Extra:wmm_ie=dd180050f2020101800003a4000027a4000042435e0062322f00

When I tried to connect to one of them iwconfig eth0 essid "Jimerson Home" didn't return any output, but iwconfig alone shows this

eth0      AR6000 802.11g  ESSID:"Jimerson Home"
          Mode:Managed  Frequency:2.452 GHz  Access Point: 00:17:3F:44:89:8C
          Bit Rate=1 Mb/s   Tx-Power=15 dBm   Sensitivity=0/3
          Retry:on
          Encryption key:off
          Power Management:off
          Link Quality:165/94  Signal level:-186 dBm  Noise level:-96 dBm
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:12  Invalid misc:0   Missed beacon:0

The problem comes in when I try and get everything from dhcp udhcpc just gets stuck in an endless loop trying to get an IP.

comment:8 Changed 6 years ago by lindi

Here often when I do

sudo ifconfig eth0 down
export sys_wlan_driver=/sys/bus/platform/drivers/s3c2440-sdi
echo s3c2440-sdi | sudo tee $sys_wlan_driver/unbind 2> /dev/null > /dev/null

the kernel crashes completely with the attached error messages.

Changed 6 years ago by lindi

comment:9 Changed 6 years ago by lindi

Sorry, I forgot to mention that I am using andy-tracking 9ecc089861ab238e

comment:10 Changed 5 years ago by lindi

I did a rought git bisection plan:

broken (lindi tested) 9ecc089861ab238e Sat May 23 17:54:00 2009
broken (nicola.mfb tested) 81c61a7d1abb03aecd13f5 Thu Apr 16 09:18:51 2009
broken (werner tested) 9029dff1f370018665a6e2999632a34fd Thu Feb 5 17:01:56 2009

suspicious commits:

1184dc21448404d2e274ce5a5a95b98878a624f Mon Jan 19 01:18:06 2009 clean up GTA02 WLAN power control
e2c0650efa751a6a2220618695fa41a2a5e7d23 Wed Jan 14 11:55:56 2009 WLAN: --power maxperf shot into the dark
bd84864b5a4fdfbe927b827a215f325a8b25671 Mon Jan 12 09:04:48 2009 Change AR6k driver to module and remove CONFIG_MD
4836494d233cd34fe194ff2040d62e4109067d7 Mon Jan 12 09:04:45 2009 AR6k: don't make a fuss if SIOCGIWSCAN returns no nodes

I'll try to revert this and see if it changes anything

working (lindi tested for 2+ months) b8b36e5ec3db71d5 Wed Jan 7 09:39:02 2009

However the problem is that I still don't have a reliable way to reproduce this bug and I can't make sense of the panic message.

comment:11 Changed 5 years ago by lindi

I just hit this bug again even though I had reverted 4836494d233cd34fe194ff2040d62e4109067d7.

Changed 5 years ago by lindi

I hit the bug again. This time I tried "rmmod ar6000" and got a kernel oops

Changed 5 years ago by lindi

this time "rmmod ar6000" caused kernel panic, Fatal exception in interrupt

comment:12 Changed 5 years ago by budfive

I just found a 100% reproducible trigger for a kernel oops (NULL dereference in wmi_powermode_cmd). Hopefully this is related to all of the crashes. Steps:

[load ar6000.ko or turn on the wifi via bind]
ifconfig eth0 up
ifconfig eth0 down
iwconfig eth0 power off

With stock shr-unstable and the stock kernel, ar6000 is compiled into the kernel, so to turn on the wifi you need to

echo "s3c2440-sdi" > /sys/bus/platform/drivers/s3c2440-sdi/bind

If this crashes the driver for others, we should set the reproducible flag.

Changed 5 years ago by budfive

fixes oops described in budfive's comment 12

comment:13 Changed 5 years ago by budfive

There appear to be multiple problems with the wifi driver. I'm attaching a proposed patch to fix the kernel oops I just described (knjmokowifi hits that case). Now, knjmokowifi still doesn't work, but gets into a state where doing anything useful with iwconfig produces i/o errors, but no oops.

comment:14 Changed 5 years ago by budfive

I figured out the bigger problem. Short version:

ifconfig eth0 down
ifconfig eth0 up

makes the driver unusable. Many programs that automatically set up the network do this, and end up hosing the driver.

Long version:
In the current driver, there are several variables that define the "readiness" of the driver. One of these is ar->arWmiReady. If this variable is FALSE, no wireless calls succeed (iwconfig, iwlist, etc). Currently, this variable is set to true only from ar6000_rx, NOT from ar6000_open.

When ar6000_init is called (during the module load or the kernel boot if ar6k is compiled-in), ar6000_rx ends up being called (not quite sure why) and this allows the driver to work. ar6000_close (ifconfig eth0 down) sets ar->arWmiReady to FALSE. However, a successive "ifconfig eth0 up" does NOT reset the ar->arWmiReady variable, and the driver stays in an unusable state. Reloading the kernel module allows the driver to work again.

ar6000_open needs to set up the variables to allow the driver to work. Is the author of the driver still around?

comment:15 Changed 5 years ago by arhuaco

arWmiReady is also set in a function called ar6000_ready_event from the macro A_WMI_READY_EVENT. This macro is called from wmi_ready_event_rx.

comment:16 Changed 5 years ago by lindi

Thanks for your analysis. I can confirm the oops you see in comment 12:

lindi@ginger:~$ sudo sh -c "echo s3c2440-sdi > $sys_wlan_driver/bind
lindi@ginger:~$ sudo ifconfig eth0 up
lindi@ginger:~$ sudo ifconfig eth0 down
lindi@ginger:~$ sudo iwconfig eth0 power off

causes

PC is at wmi_powermode_cmd+0x4c/0x64 [ar6000]

Re arWmiReady I'm equally puzzled. It seems that

arWmiReady is set to true

since ar6000_ready_event is called

since wmi_ready_event_rx is called with WMI_READY_EVENT

since wmi_control_rx(.., osbuf) reads WMI_READY_EVENTID from osbuf

since ar6000_rx calls it when arWmiEnabled == TRUE

This would imply that arWmiEnabled can only be set to TRUE if it already was set to TRUE. If it is not true then ar6000_rx will not call wmi_control_rx.

comment:17 Changed 5 years ago by lindi

Sorry I mixed arWmiEnabled and arWmiReady. So arWmiEnabled is set only when hardware sends a certain packet?

comment:18 Changed 5 years ago by budfive

I have a possible fix for the ifconfig down/up bug described above
(https://docs.openmoko.org/trac/ticket/2277#comment:14).

The driver does most of its initialization in ar6000_init(), which is called
when the module is loaded. Most of this initialization is undone by
ar6000_close(), called at "ifconfig down". Noteably, ar6000_open() does NOT
reinitialize the driver. Since this is the function called by "ifconfig up",
the driver is hosed by "ifconfig down; ifconfig up".

A potential fix is to castrate ar6000_close() so that the driver can still
work even if ar6000_open() doesn't do much. The cleanup still needs to
happen when the module is removed. I'm about to attach a patch that does
this. With this patch, the driver works and the automatic network scripts
work.

One obvious potential downside with this is that since we're no longer
cleaning up at "ifconfig down", an inactive driver can still use power
needlessly. I did some tests, and while I do see this extra power usage, it
looks like it's inconsequential:

*** ar6000_close castrated
   | phone off doing nothing                      | 101mA |
   | insmod ar6000.ko                             | 103mA |
   | ifconfig eth0 up                             | 103mA |
   | ifconfig eth0 down                           | 103mA |
   | connect (ifconfig up, iwconfig, udhcpc, etc) | 105mA |
   | ifconfig eth0 down                           | 105mA |
   | rmmod                                        | 100mA |

*** ar6000_close unmodified
   | ifconfig eth0 up                             | 103mA |
   | ifconfig eth0 down                           | 102mA |
   | rmmod                                        | 101mA |
   | unbind                                       | 96mA  |

All readings were made by using the built-in coloumb counter, and each
number is good to about +- 2mA. It looks like the missing cleanup code in
the modified version costs us about 3mA or 3% of the total power usage. If
this is the case, I would argue we have a fix. It also looks like we really
should unbind (echo "s3c2440-sdi" >
/sys/bus/platform/drivers/s3c2440-sdi/unbind) the driver when not in use,
since that's where the most of the power-savings lie. Do these numbers seem
reasonable?


Changed 5 years ago by budfive

comment:19 Changed 5 years ago by lindi

I can verify that with the old b8b36e5ec3db71d5 I can ifconfig up/down as many times as I like and the wlan stays usable.

comment:20 Changed 5 years ago by lindi

I can verify that with budfive's wifi_ifupdown.patch and 4e418ad2a6bae9681a7863ab8f376ce47da3e33a I can ifconfig up/down as many times as I want and can still use wifi after that.

comment:21 Changed 5 years ago by TimoJyrinki

I can also confirm wifi works fine with 2.6.29 e03b339e05fbf46836c83d5595d4db77112b429d + wifi_ifupdown.patch.

comment:22 Changed 5 years ago by PaulFertser

  • Cc Michael, Trimarchi, <michael@…> added
  • Reproducible changed from sometimes to always
  • Component changed from unknown to System Software
  • Owner changed from openmoko-devel to openmoko-kernel

The reasoning outlined at http://lists.openmoko.org/pipermail/openmoko-kernel/2009-March/009733.html is correct but the implementation is not. In my testing reverting this patch solves the reported problems (at the expense of exposing rfkill races of course). I propose to revert 9c4451ff31b937a478f3d3eabef30b71cbe12b12 (patch attached) and to declare we don't care about rfkill races unless somebody dedicated brings driver in a sane state first.

comment:23 Changed 5 years ago by lindi

Thanks a lot Paul. So far 0001-Revert-AR6000-move-low-level-cleanup-from-ar6000_d.patch seems to work fine with d1c828aa7073b356.

I did some current measurements: it seems unbind is enough to power everything down. The script is at

http://iki.fi/lindi/openmoko/wlan-current-measurement1.pl

and output is here:

dhclient: no process found
eth0: ERROR while getting interface flags: No such device
ERROR: Module ar6000 does not exist in /proc/modules

dbg running echo 0 > /sys/class/i2c-adapter/i2c-0/0-0073/pcf50633-mbc/usb_curlim
dbg sleeping for 60 seconds for current to stabilize
dbg taking 10 samples with 10-second delays
dbg current now 44625, mean 44625.0000, deviation -1.0000, range 0.0000
dbg current now 44625, mean 44625.0000, deviation 0.0000, range 0.0000
dbg current now 45000, mean 44750.0000, deviation 216.5064, range 375.0000
dbg current now 45000, mean 44812.5000, deviation 216.5064, range 375.0000
dbg current now 45000, mean 44850.0000, deviation 205.3960, range 375.0000
dbg current now 44625, mean 44812.5000, deviation 205.3960, range 375.0000
dbg current now 44625, mean 44785.7143, deviation 200.4459, range 375.0000
dbg current now 45000, mean 44812.5000, deviation 200.4459, range 375.0000
dbg current now 45000, mean 44833.3333, deviation 197.6424, range 375.0000
dbg current now 45000, mean 44850.0000, deviation 193.6492, range 375.0000
dbg running modprobe ar6000

WARNING: All config files need .conf: /etc/modprobe.d/linux-sound-base_noOSS, it will be ignored in a future release.

dbg sleeping for 60 seconds for current to stabilize
dbg taking 10 samples with 10-second delays
dbg current now 44625, mean 44625.0000, deviation -1.0000, range 0.0000
dbg current now 44812, mean 44718.5000, deviation 132.2290, range 187.0000
dbg current now 44812, mean 44749.6667, deviation 107.9645, range 187.0000
dbg current now 44812, mean 44765.2500, deviation 93.5000, range 187.0000
dbg current now 45000, mean 44812.2000, deviation 132.5828, range 375.0000
dbg current now 45000, mean 44843.5000, deviation 141.2115, range 375.0000
dbg current now 44812, mean 44839.0000, deviation 129.4566, range 375.0000
dbg current now 44812, mean 44835.6250, deviation 120.2330, range 375.0000
dbg current now 44812, mean 44833.0000, deviation 112.7431, range 375.0000
dbg current now 44812, mean 44830.9000, deviation 106.5024, range 375.0000
dbg running echo s3c2440-sdi > /sys/bus/platform/drivers/s3c2440-sdi/bind
dbg sleeping for 60 seconds for current to stabilize
dbg taking 10 samples with 10-second delays
dbg current now 50437, mean 50437.0000, deviation -1.0000, range 0.0000
dbg current now 50437, mean 50437.0000, deviation 0.0000, range 0.0000
dbg current now 50437, mean 50437.0000, deviation 0.0000, range 0.0000
dbg current now 50812, mean 50530.7500, deviation 187.5000, range 375.0000
dbg current now 50812, mean 50587.0000, deviation 205.3960, range 375.0000
dbg current now 50812, mean 50624.5000, deviation 205.3960, range 375.0000
dbg current now 50812, mean 50651.2857, deviation 200.4459, range 375.0000
dbg current now 50812, mean 50671.3750, deviation 194.0809, range 375.0000
dbg current now 51000, mean 50707.8889, deviation 212.0339, range 563.0000
dbg current now 51000, mean 50737.1000, deviation 220.2178, range 563.0000
dbg running ifconfig eth0 up
dbg sleeping for 60 seconds for current to stabilize
dbg taking 10 samples with 10-second delays
dbg current now 50250, mean 50250.0000, deviation -1.0000, range 0.0000
dbg current now 50250, mean 50250.0000, deviation 0.0000, range 0.0000
dbg current now 52687, mean 51062.3333, deviation 1407.0026, range 2437.0000
dbg current now 52687, mean 51468.5000, deviation 1407.0026, range 2437.0000
dbg current now 52687, mean 51712.2000, deviation 1334.7999, range 2437.0000
dbg current now 50625, mean 51531.0000, deviation 1273.7163, range 2437.0000
dbg current now 50625, mean 51401.5714, deviation 1212.1152, range 2437.0000
dbg current now 50812, mean 51327.8750, deviation 1141.3954, range 2437.0000
dbg current now 50812, mean 51270.5556, deviation 1081.4367, range 2437.0000
dbg current now 50812, mean 51224.7000, deviation 1029.8483, range 2437.0000
dbg running iwconfig eth0 essid aalto
dbg sleeping for 60 seconds for current to stabilize
dbg taking 10 samples with 10-second delays
dbg current now 55875, mean 55875.0000, deviation -1.0000, range 0.0000
dbg current now 55125, mean 55500.0000, deviation 530.3301, range 750.0000
dbg current now 55125, mean 55375.0000, deviation 433.0127, range 750.0000
dbg current now 55125, mean 55312.5000, deviation 375.0000, range 750.0000
dbg current now 55125, mean 55275.0000, deviation 335.4102, range 750.0000
dbg current now 55125, mean 55250.0000, deviation 306.1862, range 750.0000
dbg current now 54000, mean 55071.4286, deviation 548.9438, range 1875.0000
dbg current now 54000, mean 54937.5000, deviation 633.8657, range 1875.0000
dbg current now 54000, mean 54833.3333, deviation 670.2378, range 1875.0000
dbg current now 56062, mean 54956.2000, deviation 741.8003, range 2062.0000
dbg running dhclient eth0

There is already a pid file /var/run/dhclient.pid with pid 4348
removed stale PID file
Internet Systems Consortium DHCP Client V3.1.2p1
Copyright 2004-2009 Internet Systems Consortium.
All rights reserved.
For info, please visit http://www.isc.org/sw/dhcp/

Listening on LPF/eth0/00:12:cf:8e:ee:09
Sending on LPF/eth0/00:12:cf:8e:ee:09
Sending on Socket/fallback
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 6
DHCPOFFER from 130.233.238.254
DHCPREQUEST on eth0 to 255.255.255.255 port 67
DHCPACK from 130.233.238.254
bound to 130.233.238.213 -- renewal in 547 seconds.

dbg sleeping for 60 seconds for current to stabilize
dbg taking 10 samples with 10-second delays
dbg current now 54187, mean 54187.0000, deviation -1.0000, range 0.0000
dbg current now 54187, mean 54187.0000, deviation 0.0000, range 0.0000
dbg current now 54937, mean 54437.0000, deviation 433.0127, range 750.0000
dbg current now 54937, mean 54562.0000, deviation 433.0127, range 750.0000
dbg current now 54937, mean 54637.0000, deviation 410.7919, range 750.0000
dbg current now 54187, mean 54562.0000, deviation 410.7919, range 750.0000
dbg current now 54187, mean 54508.4286, deviation 400.8919, range 750.0000
dbg current now 56437, mean 54749.5000, deviation 776.3238, range 2250.0000
dbg current now 56437, mean 54937.0000, deviation 918.5587, range 2250.0000
dbg current now 56437, mean 55087.0000, deviation 987.4209, range 2250.0000

PING aallonmurtaja.hut.fi (130.233.230.131) 56(84) bytes of data.
64 bytes from aallonmurtaja.hut.fi (130.233.230.131): icmp_seq=1 ttl=64 time=13.1 ms
64 bytes from aallonmurtaja.hut.fi (130.233.230.131): icmp_seq=2 ttl=64 time=110 ms
64 bytes from aallonmurtaja.hut.fi (130.233.230.131): icmp_seq=3 ttl=64 time=25.3 ms
64 bytes from aallonmurtaja.hut.fi (130.233.230.131): icmp_seq=4 ttl=64 time=40.5 ms
64 bytes from aallonmurtaja.hut.fi (130.233.230.131): icmp_seq=5 ttl=64 time=65.3 ms
64 bytes from aallonmurtaja.hut.fi (130.233.230.131): icmp_seq=6 ttl=64 time=81.8 ms
64 bytes from aallonmurtaja.hut.fi (130.233.230.131): icmp_seq=7 ttl=64 time=205 ms
64 bytes from aallonmurtaja.hut.fi (130.233.230.131): icmp_seq=8 ttl=64 time=120 ms
64 bytes from aallonmurtaja.hut.fi (130.233.230.131): icmp_seq=9 ttl=64 time=36.7 ms
64 bytes from aallonmurtaja.hut.fi (130.233.230.131): icmp_seq=10 ttl=64 time=50.1 ms

--- aallonmurtaja.hut.fi ping statistics ---
10 packets transmitted, 10 received, 0% packet loss, time 9042ms
rtt min/avg/max/mdev = 13.187/74.911/205.384/54.752 ms

dbg running ifconfig eth0 down
dbg sleeping for 60 seconds for current to stabilize
dbg taking 10 samples with 10-second delays
dbg current now 56062, mean 56062.0000, deviation -1.0000, range 0.0000
dbg current now 56437, mean 56249.5000, deviation 265.1650, range 375.0000
dbg current now 56437, mean 56312.0000, deviation 216.5064, range 375.0000
dbg current now 53812, mean 55687.0000, deviation 1262.4381, range 2625.0000
dbg current now 53812, mean 55312.0000, deviation 1377.8380, range 2625.0000
dbg current now 53812, mean 55062.0000, deviation 1376.1359, range 2625.0000
dbg current now 55312, mean 55097.7143, deviation 1259.7831, range 2625.0000
dbg current now 55312, mean 55124.5000, deviation 1168.7906, range 2625.0000
dbg current now 80812, mean 57978.6667, deviation 8632.0171, range 27000.0000
dbg current now 80812, mean 60262.0000, deviation 10879.7403, range 27000.0000
dbg running echo s3c2440-sdi > /sys/bus/platform/drivers/s3c2440-sdi/unbind
dbg sleeping for 60 seconds for current to stabilize
dbg taking 10 samples with 10-second delays
dbg current now 44625, mean 44625.0000, deviation -1.0000, range 0.0000
dbg current now 44625, mean 44625.0000, deviation 0.0000, range 0.0000
dbg current now 44625, mean 44625.0000, deviation 0.0000, range 0.0000
dbg current now 44625, mean 44625.0000, deviation 0.0000, range 0.0000
dbg current now 44625, mean 44625.0000, deviation 0.0000, range 0.0000
dbg current now 45000, mean 44687.5000, deviation 153.0931, range 375.0000
dbg current now 45000, mean 44732.1429, deviation 182.9813, range 375.0000
dbg current now 44437, mean 44695.2500, deviation 198.9664, range 563.0000
dbg current now 44437, mean 44666.5556, deviation 205.0598, range 563.0000
dbg current now 44437, mean 44643.6000, deviation 206.5113, range 563.0000
dbg running rmmod ar6000
dbg sleeping for 60 seconds for current to stabilize
dbg taking 10 samples with 10-second delays
dbg current now 44437, mean 44437.0000, deviation -1.0000, range 0.0000
dbg current now 44437, mean 44437.0000, deviation 0.0000, range 0.0000
dbg current now 45187, mean 44687.0000, deviation 433.0127, range 750.0000
dbg current now 45187, mean 44812.0000, deviation 433.0127, range 750.0000
dbg current now 45000, mean 44849.6000, deviation 384.3095, range 750.0000
dbg current now 45000, mean 44874.6667, deviation 349.1777, range 750.0000
dbg current now 45000, mean 44892.5714, deviation 322.2550, range 750.0000
dbg current now 44437, mean 44835.6250, deviation 339.0516, range 750.0000
dbg current now 44437, mean 44791.3333, deviation 343.8637, range 750.0000
dbg current now 45000, mean 44812.2000, deviation 330.8450, range 750.0000

comment:24 Changed 5 years ago by lindi

Whoops, the previous data is what I get with wifi_ifupdown.patch (had accidentally the wrong module on disk..)

comment:25 Changed 5 years ago by lindi

Here are results with 0001-Revert-AR6000-move-low-level-cleanup-from-ar6000_d.patch

dhclient: no process found
eth0: ERROR while getting interface flags: No such device
ERROR: Module ar6000 does not exist in /proc/modules

dbg running echo 0 > /sys/class/i2c-adapter/i2c-0/0-0073/pcf50633-mbc/usb_curlim
dbg sleeping for 60 seconds for current to stabilize
dbg taking 10 samples with 10-second delays
dbg current now 48000, mean 48000.0000, deviation -1.0000, range 0.0000
dbg current now 48000, mean 48000.0000, deviation 0.0000, range 0.0000
dbg current now 48000, mean 48000.0000, deviation 0.0000, range 0.0000
dbg current now 48000, mean 48000.0000, deviation 0.0000, range 0.0000
dbg current now 48000, mean 48000.0000, deviation 0.0000, range 0.0000
dbg current now 48000, mean 48000.0000, deviation 0.0000, range 0.0000
dbg current now 48000, mean 48000.0000, deviation 0.0000, range 0.0000
dbg current now 48562, mean 48070.2500, deviation 198.6970, range 562.0000
dbg current now 48562, mean 48124.8889, deviation 247.8187, range 562.0000
dbg current now 48562, mean 48168.6000, deviation 271.4718, range 562.0000
dbg running modprobe ar6000

WARNING: All config files need .conf: /etc/modprobe.d/linux-sound-base_noOSS, it will be ignored in a future release.

dbg sleeping for 60 seconds for current to stabilize
dbg taking 10 samples with 10-second delays
dbg current now 48000, mean 48000.0000, deviation -1.0000, range 0.0000
dbg current now 48562, mean 48281.0000, deviation 397.3940, range 562.0000
dbg current now 48562, mean 48374.6667, deviation 324.4709, range 562.0000
dbg current now 48562, mean 48421.5000, deviation 281.0000, range 562.0000
dbg current now 48000, mean 48337.2000, deviation 307.8201, range 562.0000
dbg current now 48000, mean 48281.0000, deviation 307.8201, range 562.0000
dbg current now 48187, mean 48267.5714, deviation 283.2372, range 562.0000
dbg current now 48187, mean 48257.5000, deviation 263.7694, range 562.0000
dbg current now 48187, mean 48249.6667, deviation 247.8503, range 562.0000
dbg current now 47812, mean 48205.9000, deviation 271.5869, range 750.0000
dbg running echo s3c2440-sdi > /sys/bus/platform/drivers/s3c2440-sdi/bind
dbg sleeping for 60 seconds for current to stabilize
dbg taking 10 samples with 10-second delays
dbg current now 53812, mean 53812.0000, deviation -1.0000, range 0.0000
dbg current now 53812, mean 53812.0000, deviation 0.0000, range 0.0000
dbg current now 53812, mean 53812.0000, deviation 0.0000, range 0.0000
dbg current now 54187, mean 53905.7500, deviation 187.5000, range 375.0000
dbg current now 54187, mean 53962.0000, deviation 205.3960, range 375.0000
dbg current now 54187, mean 53999.5000, deviation 205.3960, range 375.0000
dbg current now 53812, mean 53972.7143, deviation 200.4459, range 375.0000
dbg current now 53812, mean 53952.6250, deviation 194.0809, range 375.0000
dbg current now 54187, mean 53978.6667, deviation 197.6424, range 375.0000
dbg current now 54187, mean 53999.5000, deviation 197.6424, range 375.0000
dbg running ifconfig eth0 up
dbg sleeping for 60 seconds for current to stabilize
dbg taking 10 samples with 10-second delays
dbg current now 53812, mean 53812.0000, deviation -1.0000, range 0.0000
dbg current now 53812, mean 53812.0000, deviation 0.0000, range 0.0000
dbg current now 54187, mean 53937.0000, deviation 216.5064, range 375.0000
dbg current now 54187, mean 53999.5000, deviation 216.5064, range 375.0000
dbg current now 54187, mean 54037.0000, deviation 205.3960, range 375.0000
dbg current now 54000, mean 54030.8333, deviation 184.3317, range 375.0000
dbg current now 54000, mean 54026.4286, deviation 168.6741, range 375.0000
dbg current now 54000, mean 54023.1250, deviation 156.4412, range 375.0000
dbg current now 54000, mean 54020.5556, deviation 146.5402, range 375.0000
dbg current now 54000, mean 54018.5000, deviation 138.3122, range 375.0000
dbg running iwconfig eth0 essid aalto
dbg sleeping for 60 seconds for current to stabilize
dbg taking 10 samples with 10-second delays
dbg current now 57000, mean 57000.0000, deviation -1.0000, range 0.0000
dbg current now 75187, mean 66093.5000, deviation 12860.1510, range 18187.0000
dbg current now 75187, mean 69124.6667, deviation 10500.2693, range 18187.0000
dbg current now 75187, mean 70640.2500, deviation 9093.5000, range 18187.0000
dbg current now 57000, mean 67912.2000, deviation 9961.4302, range 18187.0000
dbg current now 57000, mean 66093.5000, deviation 9961.4302, range 18187.0000
dbg current now 57187, mean 64821.1429, deviation 9696.5969, range 18187.0000
dbg current now 57187, mean 63866.8750, deviation 9374.2738, range 18187.0000
dbg current now 57187, mean 63124.6667, deviation 9047.1124, range 18187.0000
dbg current now 57562, mean 62568.4000, deviation 8709.1961, range 18187.0000
dbg running dhclient eth0

Internet Systems Consortium DHCP Client V3.1.2p1
Copyright 2004-2009 Internet Systems Consortium.
All rights reserved.
For info, please visit http://www.isc.org/sw/dhcp/

Listening on LPF/eth0/00:12:cf:8e:ee:09
Sending on LPF/eth0/00:12:cf:8e:ee:09
Sending on Socket/fallback
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 3
DHCPOFFER from 130.233.238.254
DHCPREQUEST on eth0 to 255.255.255.255 port 67
DHCPACK from 130.233.238.254
bound to 130.233.238.213 -- renewal in 497 seconds.

dbg sleeping for 60 seconds for current to stabilize
dbg taking 10 samples with 10-second delays
dbg current now 57187, mean 57187.0000, deviation -1.0000, range 0.0000
dbg current now 57187, mean 57187.0000, deviation 0.0000, range 0.0000
dbg current now 57187, mean 57187.0000, deviation 0.0000, range 0.0000
dbg current now 100125, mean 67921.5000, deviation 21469.0000, range 42938.0000
dbg current now 100125, mean 74362.2000, deviation 23518.1112, range 42938.0000
dbg current now 57375, mean 71531.0000, deviation 22148.9368, range 42938.0000
dbg current now 57375, mean 69508.7143, deviation 20915.0738, range 42938.0000
dbg current now 57375, mean 67992.0000, deviation 19833.1091, range 42938.0000
dbg current now 65250, mean 67687.3333, deviation 18574.6759, range 42938.0000
dbg current now 65250, mean 67443.6000, deviation 17529.3253, range 42938.0000

PING aallonmurtaja.hut.fi (130.233.238.254) 56(84) bytes of data.
64 bytes from aallonmurtaja.hut.fi (130.233.238.254): icmp_seq=1 ttl=64 time=14.4 ms
64 bytes from aallonmurtaja.hut.fi (130.233.238.254): icmp_seq=2 ttl=64 time=100 ms
64 bytes from aallonmurtaja.hut.fi (130.233.238.254): icmp_seq=3 ttl=64 time=20.1 ms
64 bytes from aallonmurtaja.hut.fi (130.233.238.254): icmp_seq=4 ttl=64 time=40.1 ms
64 bytes from aallonmurtaja.hut.fi (130.233.238.254): icmp_seq=5 ttl=64 time=60.1 ms
64 bytes from aallonmurtaja.hut.fi (130.233.238.254): icmp_seq=6 ttl=64 time=6.58 ms
64 bytes from aallonmurtaja.hut.fi (130.233.238.254): icmp_seq=7 ttl=64 time=95.3 ms
64 bytes from aallonmurtaja.hut.fi (130.233.238.254): icmp_seq=8 ttl=64 time=115 ms
64 bytes from aallonmurtaja.hut.fi (130.233.238.254): icmp_seq=9 ttl=64 time=35.3 ms
64 bytes from aallonmurtaja.hut.fi (130.233.238.254): icmp_seq=10 ttl=64 time=50.1 ms

--- aallonmurtaja.hut.fi ping statistics ---
10 packets transmitted, 10 received, 0% packet loss, time 9044ms
rtt min/avg/max/mdev = 6.587/53.762/115.111/36.243 ms

dbg running ifconfig eth0 down
dbg sleeping for 60 seconds for current to stabilize
dbg taking 10 samples with 10-second delays
dbg current now 57937, mean 57937.0000, deviation -1.0000, range 0.0000
dbg current now 57000, mean 57468.5000, deviation 662.5591, range 937.0000
dbg current now 57000, mean 57312.3333, deviation 540.9772, range 937.0000
dbg current now 57937, mean 57468.5000, deviation 540.9772, range 937.0000
dbg current now 57937, mean 57562.2000, deviation 513.2160, range 937.0000
dbg current now 57937, mean 57624.6667, deviation 483.8647, range 937.0000
dbg current now 59437, mean 57883.5714, deviation 815.0619, range 2437.0000
dbg current now 59437, mean 58077.7500, deviation 933.3085, range 2437.0000
dbg current now 56625, mean 57916.3333, deviation 998.3385, range 2812.0000
dbg current now 56625, mean 57787.2000, deviation 1026.0077, range 2812.0000
dbg running echo s3c2440-sdi > /sys/bus/platform/drivers/s3c2440-sdi/unbind
dbg sleeping for 60 seconds for current to stabilize
dbg taking 10 samples with 10-second delays
dbg current now 47625, mean 47625.0000, deviation -1.0000, range 0.0000
dbg current now 47625, mean 47625.0000, deviation 0.0000, range 0.0000
dbg current now 47625, mean 47625.0000, deviation 0.0000, range 0.0000
dbg current now 47812, mean 47671.7500, deviation 93.5000, range 187.0000
dbg current now 47812, mean 47699.8000, deviation 102.4241, range 187.0000
dbg current now 48000, mean 47749.8333, deviation 153.0117, range 375.0000
dbg current now 48000, mean 47785.5714, deviation 168.6741, range 375.0000
dbg current now 48000, mean 47812.3750, deviation 173.5914, range 375.0000
dbg current now 48000, mean 47833.2222, deviation 174.0077, range 375.0000
dbg current now 48000, mean 47849.9000, deviation 172.3249, range 375.0000
dbg running rmmod ar6000
dbg sleeping for 60 seconds for current to stabilize
dbg taking 10 samples with 10-second delays
dbg current now 47625, mean 47625.0000, deviation -1.0000, range 0.0000
dbg current now 47625, mean 47625.0000, deviation 0.0000, range 0.0000
dbg current now 47812, mean 47687.3333, deviation 107.9645, range 187.0000
dbg current now 47812, mean 47718.5000, deviation 107.9645, range 187.0000
dbg current now 48000, mean 47774.8000, deviation 156.8142, range 375.0000
dbg current now 48000, mean 47812.3333, deviation 167.7053, range 375.0000
dbg current now 48000, mean 47839.1429, deviation 168.7270, range 375.0000
dbg current now 48000, mean 47859.2500, deviation 166.2414, range 375.0000
dbg current now 48000, mean 47874.8889, deviation 162.4280, range 375.0000
dbg current now 47812, mean 47868.6000, deviation 154.4245, range 375.0000

comment:26 Changed 5 years ago by PaulFertser

  • Status changed from new to closed
  • Resolution set to fixed

So ifconfig down doesn't help power saving but the driver is not screwed after it; unbinding works as expected.

Since wireless now "works" to some extent and this particular bug is fixed, closing.

Note: See TracTickets for help on using tickets.