Ticket #2171 (closed defect: invalid)

Opened 10 years ago

Last modified 10 years ago

stable-tracking 80f4b57/resume: eth0: ERROR while getting interface flags: No such device

Reported by: lindi Owned by: openmoko-kernel
Priority: normal Milestone:
Component: kernel Version: unspecified
Severity: normal Keywords:
Cc: Blocked By:
Blocking: Estimated Completion (week):
HasPatchForReview: no PatchReviewResult:
Reproducible:

Description

After resume with stable-tracking 80f4b57fef5dcffb I noticed that I can no longer start wifi:

$ sudo ifconfig eth0 up
eth0: ERROR while getting interface flags: No such device
$ lsmod
Module                  Size  Used by
ppp_deflate             5056  0 
bsd_comp                5920  0 
ppp_async               9824  0 
crc_ccitt               1888  1 ppp_async
ppp_generic            25100  3 ppp_deflate,bsd_comp,ppp_async
slhc                    5568  1 ppp_generic
rtc_s3c                 9548  0
$ zgrep WLA /proc/config.gz 
# CONFIG_WLAN_PRE80211 is not set
# CONFIG_WLAN_80211 is not set
CONFIG_AR6000_WLAN=y

This does not happen always and I unfortunately do not have a reliable way to reproduce this. I am including output of dmesg immediately after running "ifconfig eth0 up" but since the uptime of the system is more than two days the first boot messages are not visible anymore.

Any idea what should I try to debug this?

Attachments

dmesg1.txt (121.8 KB) - added by lindi 10 years ago.

Change History

Changed 10 years ago by lindi

comment:1 Changed 10 years ago by lindi

At least with andy-tracking b8b36e5ec3db71 I can reliably start wifi with

echo 1 | sudo tee $sys_pm_wlan/power_on
echo s3c2440-sdi | sudo tee $sys_wlan_driver/unbind 2> /dev/null > /dev/null
echo s3c2440-sdi | sudo tee $sys_wlan_driver/bind
sudo ifconfig eth0 up

so this issue must have been fixed somewhere during the last 5 weeks?

comment:2 Changed 10 years ago by werner

Do you actually need to explicitly power on and unbind/bind before you
can use eth0 after resume ? In general, it should come up without such
things. (If using andy-tracking.)

  • Werner

comment:3 Changed 10 years ago by lindi

Yes I do, power_on alone is not enough:

lindi@ginger:~$ apm -s
lindi@ginger:~$ echo 1 | sudo tee /sys/bus/platform/drivers/gta02-pm-wlan/gta02-pm-wlan.0/power_on
1
lindi@ginger:~$ cat /sys/bus/platform/drivers/gta02-pm-wlan/gta02-pm-wlan.0/power_on
1
lindi@ginger:~$ sudo ifconfig eth0 up
eth0: ERROR while getting interface flags: No such device
lindi@ginger:~$ echo s3c2440-sdi | sudo tee /sys/bus/platform/drivers/s3c2440-sdi/bind
s3c2440-sdi
lindi@ginger:~$ sudo ifconfig eth0 up
lindi@ginger:~$

comment:4 Changed 10 years ago by werner

Okay, if you use power_on, that's expected. What power_on does is a reset
of the module, but completely behind the back of everything else.

Unbind/bind has pretty much the same effect (one layer above power_on),
so that's where you get the correct on/off action.

But what's the whole story ? Do you want to enter a power-saving state ?
There are currenly three choices for this that aren't specific to the
WLAN module: unbind/bind, suspend/resume (*), and module unload/load.
They all should produce the same effect, namely that the driver gets
removed and the module powers down.

(*) That is, unless you've set the "persist" option of the S3C MMC

driver.

Furthermore, you can use wmiconfig to disable the module without driver
removal. --power rec sets a sensible power consumption and --wlan disable
turns off transmission and rejects other ioctls until --wlan enable.

  • Werner

comment:5 Changed 10 years ago by andy

How has this issue ended up... WLAN can start OK now after resume or is there still an issue?

comment:6 Changed 10 years ago by werner

Haven't heard anyone complain about suspend/resume for a good while.
I think lindi only saw the effect of using power_on, which didn't do
at all what he expected. So this one may be resolve/invalid.

  • Werner

comment:7 Changed 10 years ago by andy

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

Great, thanks.

Note: See TracTickets for help on using tickets.