Still have to restart X after every boot
|Status:||Closed||Start date:||26 Jul 2014|
|Category:||06 - Hardware|
|Severity:||01 - Critical|
This appears to be related to power up problems with an external USB hub. It might be fixed by using the UUGear 7 port hub. Also, the mouse works on first boot so switching to a WiiMote might also work around the problem.
RM #360: Move UI init script to accommodate cleaner boots and assist in fix of keyboard input on boot.
RM #360: Remove background image (displayed by Xearly and/or psplash). Don't start matchbox panel anymore (now handled by launcher instead).
RM #360: Add Xearly start/stop scripts. These start X early and then stop it again before it is restarted by the PiBox core. This works around the problem with having to restart X manually from the PiBox core X start in order to get keyboard input working.
#1 Updated by Hammel over 6 years ago
- Status changed from New to In Progress
- % Done changed from 0 to 10
Because I want to remove the X.org restart button in the launcher I decided to look into this a bit more. Here are some links that might help.
- http://www.raspberrypi.org/forums/viewtopic.php?f=28&t=7866&start=75 - this seems to suggest that the following in the config.txt may help (however, this is a 2 year old fix)
- dwc_otg: Rewrite driver to include FIQ_FSM - suggests updated Synopsis DWC Host Support (dwc_otg), which is currently compiled into the kernel.
- Call for beta testers: FIQ_FSM USB driver rewrite
- Reload evdev - currently loaded early but could unload before X starts and then reload after. Can test by doing it manually.
- What kernel parameters are available for fixing USB problems
- RPI BCM2708 Parameters
- Very complete list of dwc_otg parameters
Note that the dwc_otg driver is currently compiled into the kernel. To tweak changes it has to be removed and loaded at init time instead. Moving dwc_otg out of the kernel may be enough on its own just to get around power problems related to USB keyboards and X.org display.
#2 Updated by Hammel over 6 years ago
- % Done changed from 10 to 20
Trying to migrate to a new kernel is a bit of work and I don't want to waste time on that. There are lots of issues with the USB subsystem and getting an updated dwg_otc driver to test fixing them will take more time than I want to spend on this.So I have another idea I want to try as a workaround.
- pmsui: add S12Xup - Starts X right after all drivers are loaded and runs a single app that displays just the background logo (maybe animated with a simple app)
- pmsui: add S89Xdown - Stops S12Xup right before S90UI starts
- Remove psplash package
I can also try unloading evdev in S89Xdown and reloading it in desktop.sh though I'm not sure that has anything to do with the keyboard interface (the mouse always works but the keyboard doesn't).
Technically with this method I've started X and then restart it, just like I always have to do now though right now I restart X from X so its unclear if this method will have the same effect.
#4 Updated by Hammel over 6 years ago
- Priority changed from Immediate to Normal
- % Done changed from 20 to 50
- Severity changed from 01 - Critical to 03 - Medium
It worked! I started S12Xup and used S99z00xdown to kill xinit right before starting the UI as S99z01ui. Low-n-behold, the keyboard works on boot now!
So I need to modify pmsui to support these changes, and move the UI startup to S99UI. This means moving crtmpserver and monkey to S92 from S99.
#6 Updated by Hammel over 6 years ago
- % Done changed from 50 to 60
I was just thinking it might be worth testing if I can move these around a little. For example, where can I move SxxXdown with SxxUI right after and still have the keyboard issue resolved? If I can move them earlier in the init process I might be able to have the UI up faster (though switching to a non-shell based init process will likely have a bigger impact).
The goal for this should be to have the best user experience given the use of shell scripts for init processing.
#7 Updated by Hammel over 6 years ago
- Status changed from In Progress to Closed
- % Done changed from 60 to 100
I moved Xearly to S01Xearly, left psplash installed and move Xearly (late) to X98Xearly. Then I quieted the boot to disable most of the boot messages. This seems to work fairly well. S90UI has been moved to S90UI.
I don't need to change crtmpserver or monkey after all. The changes made already deal with the X keyboard problem of this issue.