Hello, folks,


It is a comfort to me that I have people to ask questions here and I hope I 
could be answering to some hard quetions someday.

I've beeing trying to attach a USB keyboard to our embedded system to open a 
shell on the LCD display using framebuffer console. The USB host controller is 
from the opencore(USB1.1) and it works for USB memory.

Some of the boot arguments are (I've tried some variants)

"console=tty1 "
"fbcon=map:0000,font:SUN8x16,vc:1-3 "
"root=/dev/ram "



The problem is, after the final sys_execve() which executes /sbin/init of the 
ramdisk, I cannot see any printf results frome the busybox init_main function 
not to mention the shell. So I cannot use shell commands like getty. Using uart 
as the console I can see printf results in the busybox init_main routine. (I 
use "console=ttyS,mmio,0xff003000,115200n8 " in that case)

Using some prints on separate uart print routine, I can see from the kbd_event 
function that the key value is going to current vc which is using tty1. The key 
value is then handed to put_queue function where the character is somehow 
copied to tty buffer. Flush_to_ldisc is scheduled for it and it will probably 
get passed on to the virtual console. By the way, I guess the keyboard data is 
delivered to current fg_console (vc 0 which is using tty1).



Added to this, there is a notifier_call_chain and the notifier block is 
registered by vcs_poll_data_get function which I don't know weather is 
necessary or not. So one of my questions is if vcs is necessary for my case. (I 
guess not. There is no other notifier blocks registered)



I gathered that without inittab (I don't use inittab which should be ok for 
most cases) the assumed default inittab tty2::askfirst:-/bin/sh 
tty3::askfirst:-/bin/sh tty4::askfirst:-/bin/sh is being applied by the busybox 
so there maybe 3 shells on tty2,tty3, and tty4 running somewhere.

But even if there are shells running I don't know how to switch to those ttys. 
I tried using Ctrl-Alt F2 (or F3, F4) using the USB keyboard to switch to 
tty2,3,4 to see if any shell comes up on the LCD but couldn't see it.

I tried using inittab with no avail before.



And I don't know how the printf in busybox is connected to the kernel.  I guess 
busybox talks with stdio(stdout,stdin..) and the file is connected to the 
kernel anyhow. I've digged up how vc driver is connected to the console switch 
functions and to the bit blitting functions and how the printk is handled in 
the kernel. But these console, tty, framebuffer console.. things are very 
complex to me. and I hope somebody could point me to what should be checked. 
Any hint will be deeply appreciated.



Best Regards,

Chan
_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org<mailto:Kernelnewbies@kernelnewbies.org>
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

Reply via email to