It seems system reset after I trigger the wake up source. I added
some debug info in the bootload(I'm using uboot). it goes like this:
if system is waking up from sleep mode, let the red led flash, other wise
flash the green led.
But every time, the green led flash, indicating that it's reset.
/*
* Anyone on the APM queues will think we're still suspended.
* Send a message so everyone knows we're now awake again.
*/
queue_event(APM_NORMAL_RESUME, NULL);
/*
* Finally, wake up anyone who is sleeping on the suspend.
*/
down_read(&user_list_lock);
list_for_each_entry(as, &apm_user_list, list) {
as->suspend_result = err;
as->suspend_state = SUSPEND_DONE;
}
up_read(&user_list_lock);
五里霧中,cool~~,and also 云里雾里. 你学过中文?
han go ma'er kongbu ha go yi sip ni da.
You're using suspend to mtdblock, that's new feature for your kernel?
For I can't find the /sys/power fold here on my board.
I think the problem I'm facing now is very "hardware-dependant". I tested
244x's suspend/resume function outside the kernel--using a firmware test code.
it works...I'm compare the raw register setting. Hope to get some result and share u.
Oh, you're pc can recognize the tranditional Chinese characters.
I'm studying Korean. I've been to Suwon and Seoul several times. You're country is very clean and beautiful!!
That would be very helpful if you upload the code & howto of suspend2 disk.
I did some test and found something:
the physical address of the resume routine is saved in the GSTATUS3 but the content inside that register seems lost when the system trying to wake up.
Strange, what'll cause the data lost? The content in the GSTATUS3 and GSTATUS4 only clear by power on reset and Watchdog reset.
My sleep/suspend to ram is working now.
I paly a trick. duiring the wake up processdure, I don't use the wake up address stored in GSTATUS3, but assigned the pc myself--for I know the physical address.
But still I'm confused why the content in GSTATUS3 lost
(ghello:58): Gdk-WARNING **: locale not supported by Xlib
(ghello:58): Gdk-WARNING **: cannot set locale modifiers
(ghello:58): Gtk-WARNING **: cannot open display: root@godori:~# root@godori:~# root@godori:~# ls
15fps_w309.avi g2player ghello.c logo01.raw
bombs gcomp glogo
controls ghello label
root@godori:~# ./g2player 15fps_w309.avi
Could not initialize SDL - No available video device root@godori:~#
=============================================
I'm using Samsung's smdk board, with the lcd size 240*320 + touch screen.
Still I met some problem in start the kernel. Seems that I need
"a free VT". what's that?
=========================================== root@godori:/# startx
Fatal server error:
LinuxInit: Cannot open /dev/tty0 (No such file or directory) root@godori:/# ln -s /dev/tty /dev/tty0 root@godori:/# startx
Fatal server error:
xf86OpenConsole: Cannot find a free VT
Couldn't open display root@godori:/#
(process:82): Gdk-WARNING **: locale not supported by Xlib
(process:82): Gdk-WARNING **: cannot set locale modifiers
bt::Display: failed to open display ''
(fbpanel:82): Gtk-WARNING **: cannot open display:
X window system needs keyboard(exactly virtual terminal).
Aesop2440 has button keyboard, I made keybutton to keyboard.
and check input driver to keyboard in kernel menuconfig.
like this
lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk x
x x --- Generic input layer (needed for keyboard, mouse, ...) x x
x x --- Userland interfaces x x
x x --- Mouse interface x x
x x [*] Provide legacy /dev/psaux device x x
x x (480) Horizontal screen resolution x x
x x (272) Vertical screen resolution x x
x x < > Joystick interface x x
x x < > Touchscreen interface x x
x x <*> Event interface x x
x x < > Event debugging x x
x x --- Input Device Drivers x x
x x [*] Keyboards ---> x x
x x [ ] Mouse ---> x x
x x [ ] Joysticks ---> x x
x x [*] Touchscreens ---> x x
x x [ ] Miscellaneous devices ---> x x
x x Hardware I/O ports ---> x x
x mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj x
lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk x
x x --- Keyboards x x
x x <*> AT keyboard x x
x x < > Sun Type 4 and Type 5 keyboard x x
x x < > DECstation/VAXstation LK201/LK401 keyboard x x
x x < > XT keyboard x x
x x < > Newton keyboard x x
x x < > s3c2410 buttons x x
x x <*> AESOP2440 buttons x x
x x x x
Can you check input device like this?
And hit startx again.
yes ,maybe I've to write an keyboard driver.
anyway I think xwindows is too big for embeded, doesn't it?
we're using trolltech's Qt, the shortcoming is that it's not free.
I'm only test "suspend2(hibernation)" module.
No test sleep mode.
In case of sleep mode, you must check device drivers's initialization.
Generally, the reason of resume fail is device initialize fault.
^^