Hello,
I recently got a new mid-range ThinkPad, which I would love to use as a Genode "daily driver".
As you can imagine, one of the first things I did was to try to boot up a Sculpt USB stick. (I tried the 19.07 image, and built a fresh image straight from GitHub, both with the same result.)
The system boots into Leitzentrale, with the Manager window, log area, and even component graph all displaying. But then it freezes, not accepting keyboard or mouse input.
(It may be related to the USB controller, because 1) the USB stick drive either shows a size of 0 bytes or doesn't display at all, and 2) moving the mouse while Genode is starting seems to cause the system to freeze before Leitzentrale is displayed.)
Does anyone have any thoughts on this? Is there a diagnostic tool I can run to give more useful info?
I will be happy to give more details on the hardware in the appropriate forum. Should I open a GitHub issue?
Thanks!
Hi John,
The system boots into Leitzentrale, with the Manager window, log area, and even component graph all displaying. But then it freezes, not accepting keyboard or mouse input.
(It may be related to the USB controller, because 1) the USB stick drive either shows a size of 0 bytes or doesn't display at all, and 2) moving the mouse while Genode is starting seems to cause the system to freeze before Leitzentrale is displayed.)
Since you see the GUI, the input drivers (both USB HID and PS/2) have come up, which is promising.
Just to double check that the issue is not a mundane BIOS setting, can you please try the following?
- Press [F12] to toggle the leitzentrale (I guess, you have already done so)
- The BIOS may be configured to swap the layers of the F-keys and feature keys (volume etc.). Can you try pressing [Fn] + [F12]?
- The BIOS may be configured to swap [Fn] and [Ctrl]. Can you try pressing [Ctrl] + [F12]?
- Have you tried to connect a USB keyboard and press [F12] there?
- Can you move the mouse pointer with the trackpoint?
- Can you move the mouse pointer with the track pad?
- Can you move the mouse pointer with an external USB mouse?
- The trackpoint and trackpad can be configured (i.e., disabled) in the BIOS. Can you please check those settings?
- On some Thinkpads, I have experienced trouble with the battery-saving settings in the BIOS (one can set the policy for AC and battery independently). It might be worthwhile to try setting "maximize performance" for both settings.
Does anyone have any thoughts on this? Is there a diagnostic tool I can run to give more useful info?
Given that you have a machine supported by Sculpt available, you may give Sculpt's report_dump package a try, which periodically copies the content of Sculpt's report file system to the default file system.
First, a USB stick with a fresh Sculpt image is booted on the fully supported machine. Then you customize the USB stick within the running system by expanding the USB stick's Genode partition, setting it as the default storage location, and deploying the report_dump subsystem. The last step triggers the installation of the report_dump package onto the USB stick. Finally, you copy the deploy configuration from the in-memory config file system (/config/managed/deploy) to the USB stick (/usb-<N>/config/<VERSION>/deploy) where <VERSION> corresponds to the Sculpt version as found in the leitzentrale at /VERSION. When booting this prepared USB stick on your non-working machine, this deployment configuration becomes active automatically. At this point, the Sculpt system will copy a snapshot of the report file system to the Genode partition of the USB stick every 10 seconds. The snapshots captured on the USB stick can later be analyzed on another machine.
The snapshots not only contain all log messages (/report/log) but also the reports generated by various components of the drivers subsystem and any other deployed components. For example, with acpica present in the deploy configuration, the battery state is captured as well.
I will be happy to give more details on the hardware in the appropriate forum. Should I open a GitHub issue?
The mailing list is perfectly fine.
Cheers Norman
On 9/20/19 2:55 AM, Norman Feske wrote:
Hi John,
The system boots into Leitzentrale, with the Manager window, log area, and even component graph all displaying. But then it freezes, not accepting keyboard or mouse input.
(It may be related to the USB controller, because 1) the USB stick drive either shows a size of 0 bytes or doesn't display at all, and 2) moving the mouse while Genode is starting seems to cause the system to freeze before Leitzentrale is displayed.)
Since you see the GUI, the input drivers (both USB HID and PS/2) have come up, which is promising.
That's interesting - could the USB driver be initialized, but crash on an interrupt (or something like that)?
Just to double check that the issue is not a mundane BIOS setting, can you please try the following?
Press [F12] to toggle the leitzentrale (I guess, you have already done so)
The BIOS may be configured to swap the layers of the F-keys and feature keys (volume etc.). Can you try pressing [Fn] + [F12]?
The BIOS may be configured to swap [Fn] and [Ctrl]. Can you try pressing [Ctrl] + [F12]?
Have you tried to connect a USB keyboard and press [F12] there?
Can you move the mouse pointer with the trackpoint?
Can you move the mouse pointer with the track pad?
Can you move the mouse pointer with an external USB mouse?
The trackpoint and trackpad can be configured (i.e., disabled) in the BIOS. Can you please check those settings?
On some Thinkpads, I have experienced trouble with the battery-saving settings in the BIOS (one can set the policy for AC and battery independently). It might be worthwhile to try setting "maximize performance" for both settings.
I tried most of those already, and the remainder just now. Unfortunately all without success.
For good measure, I also built an image using "KERNEL=hw", which ran at about 1% of the speed of Nova, but arrived at exactly the same result (including the same log messages and locking up before Leitzentrale if I moved the pointer while booting).
Does anyone have any thoughts on this? Is there a diagnostic tool I can run to give more useful info?
Given that you have a machine supported by Sculpt available, you may give Sculpt's report_dump package a try, which periodically copies the content of Sculpt's report file system to the default file system.
[ snip - instructions for creating "hardware-probing instrument" image ]
The snapshots not only contain all log messages (/report/log) but also the reports generated by various components of the drivers subsystem and any other deployed components. For example, with acpica present in the deploy configuration, the battery state is captured as well.
I should have thought of that myself. In any case, I just tried it, but no data was written. (The USB drive is listed as "0 bytes" in the Manager panel, so I guess this is not surprising.)
There are only about a dozen lines in the Log panel (it varies a little each time), and nothing that seems relevant.
This just goes to show how dependent we are on USB - I can't think of a way to get data on or off this machine without it. (No optical drive, and I didn't buy the dongle for the "mini-ethernet" port.)
It's a little strange that it boots off the USB stick all the way through displaying the component graph. I'm assuming it uses the BIOS up to a certain point, then hands control over to the Genode drivers.
Could we rig up an image that disables the USB driver (or at least the USB storage driver), but logs some diagnostic info (to the screen) about the hardware?
I do have a USB ethernet card, so I could try a network boot, if the main USB driver is not the problem.
I will be happy to give more details on the hardware in the appropriate forum. Should I open a GitHub issue?
The mailing list is perfectly fine.
Here is a review that goes into some detail about the machine:
https://www.notebookcheck.net/Lenovo-ThinkPad-L380-Yoga-i5-8250U-FHD-Convert...
Let me know if there's anything else I can try.
Thanks!
John J. Karcher devuser@alternateapproach.com
Hi John,
Since you see the GUI, the input drivers (both USB HID and PS/2) have come up, which is promising.
That's interesting - could the USB driver be initialized, but crash on an interrupt (or something like that)?
indeed. It looks very much like that.
To take the USB driver off the critical path for using Sculpt, you may give the attached patch a try. It prevents the input filter from obtaining an input session from the USB driver. If our assumption is correct, you should be able to interact with Sculpt using the laptop's keyboard and track point (driven by the PS/2 driver).
This just goes to show how dependent we are on USB - I can't think of a way to get data on or off this machine without it. (No optical drive, and I didn't buy the dongle for the "mini-ethernet" port.)
It's a little strange that it boots off the USB stick all the way through displaying the component graph. I'm assuming it uses the BIOS up to a certain point, then hands control over to the Genode drivers.
The boot image is loaded into memory by the boot loader, which uses BIOS calls. Genode's USB driver is not used at this stage.
If we can pinpoint the problem to the USB driver, there is still the open question of how to investigate it. I hope that the ability to interact with Sculpt will give us some clues, in particular by looking at /report/log in the inspect window.
Cheers Norman
Hello again,
sorry, I forgot to attach the patch to the previous posting. Here it is.
Cheers Norman
On 9/24/19 12:13 PM, Norman Feske wrote:
Hi John,
Since you see the GUI, the input drivers (both USB HID and PS/2) have come up, which is promising.
That's interesting - could the USB driver be initialized, but crash on an interrupt (or something like that)?
indeed. It looks very much like that.
To take the USB driver off the critical path for using Sculpt, you may give the attached patch a try. It prevents the input filter from obtaining an input session from the USB driver. If our assumption is correct, you should be able to interact with Sculpt using the laptop's keyboard and track point (driven by the PS/2 driver).
That worked! Now the mouse pointer works, the Manager panel responds to clicks, and the NVMe drive seems to be working (i.e. the partitions show up in the Manager panel).
Unfortunately, there are two new problems:
1. The "Inspect" buttons toggle, but the Inspect window doesn't open for any drive / partition.
2. I can't seem to connect to a network. I have the most hope for the built-in Wi-Fi, but it gets stuck on "Scanning...".
This just goes to show how dependent we are on USB - I can't think of a way to get data on or off this machine without it. (No optical drive, and I didn't buy the dongle for the "mini-ethernet" port.)
It's a little strange that it boots off the USB stick all the way through displaying the component graph. I'm assuming it uses the BIOS up to a certain point, then hands control over to the Genode drivers.
The boot image is loaded into memory by the boot loader, which uses BIOS calls. Genode's USB driver is not used at this stage.
If we can pinpoint the problem to the USB driver, there is still the open question of how to investigate it. I hope that the ability to interact with Sculpt will give us some clues, in particular by looking at /report/log in the inspect window.
It's interesting that the log output stops after about 8 lines (none of which seem to be errors), and nothing after that generates log output.
But if we can figure out how to open the Inspect window, I hope to be able to copy files to/from the NVMe drive, which might help us work around the USB drive problem.
Thanks!
John J. Karcher devuser@alternateapproach.com