I was very excited to see that the 18.08 release notes indicated that the USB driver is available for the Wandboard Quad. Unfortunately my testing has not been successful yet. I can build run/usb_hid with the seL4 kernel but at boot time I see:
Genode 18.08 455 MiB RAM and 31767 caps assigned to init Warning: void Genode::Rpc_cap_factory::free(Genode::Native_capability) not implemented - resources leaked: 0x1 Warning: void Genode::Rpc_cap_factory::free(Genode::Native_capability) not implemented - resources leaked: 0x2 Warning: void Genode::Rpc_cap_factory::free(Genode::Native_capability) not implemented - resources leaked: 0x4 [init -> usb_hid_drv] --- USB HID input driver ---
Warning: void Genode::Rpc_cap_factory::free(Genode::Native_capability) not implemented - resources leaked: 0x8 [init -> usb_hid_drv] Warning: use compatibility mode: will claim all HID devices from USB report [init -> usb_hid_drv] Configured HID screen with 0x0 (multitouch=false)
Warning: PD (init -> gpio_drv) cap limit (used=25, limit=25) exceeded during transfer_quota(3) [init -> gpio_drv] resource_request: cap_quota=3
[init] child "gpio_drv" requests resources: cap_quota=3 Warning: void Genode::Rpc_cap_factory::free(Genode::Native_capability) not implemented - resources leaked: 0x10 [init -> usb_drv] dev_info: EHCI Host Controller
[init -> usb_drv] dev_info: new USB bus registered, assigned bus number 1 [init -> usb_drv] dev_info: USB 2.0 started, EHCI 1.00 Warning: mapping failed 0x2dc03000 -> 0x10003000 Warning: mapping failed 0x2dc03000 -> 0x10003000 [init -> test-input] --- Input test --- Warning: mapping failed 0x2dc03000 -> 0x10003000
and that last line repeats indefinitely. I cannot find either of those addresses anywhere in the code so it is unclear to me what the problem is.
Hi Edward,
On Mon, Sep 17, 2018 at 12:16:44PM -0500, Edward Sandberg wrote:
I was very excited to see that the 18.08 release notes indicated that the USB driver is available for the Wandboard Quad. Unfortunately my testing has not been successful yet. I can build run/usb_hid with the seL4 kernel but at boot time I see:
Genode 18.08 455 MiB RAM and 31767 caps assigned to init Warning: void Genode::Rpc_cap_factory::free(Genode::Native_capability) not implemented - resources leaked: 0x1 Warning: void Genode::Rpc_cap_factory::free(Genode::Native_capability) not implemented - resources leaked: 0x2 Warning: void Genode::Rpc_cap_factory::free(Genode::Native_capability) not implemented - resources leaked: 0x4 [init -> usb_hid_drv] --- USB HID input driver ---
Warning: void Genode::Rpc_cap_factory::free(Genode::Native_capability) not implemented - resources leaked: 0x8 [init -> usb_hid_drv] Warning: use compatibility mode: will claim all HID devices from USB report [init -> usb_hid_drv] Configured HID screen with 0x0 (multitouch=false)
Warning: PD (init -> gpio_drv) cap limit (used=25, limit=25) exceeded during transfer_quota(3) [init -> gpio_drv] resource_request: cap_quota=3
[init] child "gpio_drv" requests resources: cap_quota=3
actually, the GPIO driver is not needed for this test on Wandboard, but other i.MX6 platforms. Nevertheless, to circumvent this warning and to be sure it has nothing to do with the GPIO driver, you should increase the cap_quota for the GPIO driver so that it will initialize completely. Please, apply the following patch:
diff --git a/repos/dde_linux/run/usb_hid.run b/repos/dde_linux/run/usb_hid.run index fea02ab98..5af7dcb4f 100644 --- a/repos/dde_linux/run/usb_hid.run +++ b/repos/dde_linux/run/usb_hid.run @@ -102,7 +102,7 @@ append config { <default caps="100"/>}
append_if [have_spec gpio] config " -config<start name="[gpio_drv]"> +gpio_drv<start name="[gpio_drv]" caps="140"> <resource name="RAM" quantum="4M"/> <provides><service name="Gpio"/></provides> <config/>
Warning: void Genode::Rpc_cap_factory::free(Genode::Native_capability) not implemented - resources leaked: 0x10 [init -> usb_drv] dev_info: EHCI Host Controller
[init -> usb_drv] dev_info: new USB bus registered, assigned bus number 1 [init -> usb_drv] dev_info: USB 2.0 started, EHCI 1.00 Warning: mapping failed 0x2dc03000 -> 0x10003000 Warning: mapping failed 0x2dc03000 -> 0x10003000 [init -> test-input] --- Input test --- Warning: mapping failed 0x2dc03000 -> 0x10003000
Anyway, here lied the actual problem. I cannot say why core resp. the sel4 kernel complains to map that memory pages here. Unfortunately, I'm on the way, and cannot test sel4 on Wandboard right now. Maybe Alexander Böttcher has some idea what possibly goes wrong, when core complains that it cannot map?
Regards Stefan
and that last line repeats indefinitely. I cannot find either of those addresses anywhere in the code so it is unclear to me what the problem is.
-- Edward Sandberg Adventium Labs 111 3rd Avenue S. Suite #100 Minneapolis, MN 55401 ed.sandberg@adventiumlabs.com
Genode users mailing list users@lists.genode.org https://lists.genode.org/listinfo/users
Hi,
On 20.09.2018 07:48, Stefan Kalkowski wrote:
Anyway, here lied the actual problem. I cannot say why core resp. the sel4 kernel complains to map that memory pages here. Unfortunately, I'm on the way, and cannot test sel4 on Wandboard right now. Maybe Alexander Böttcher has some idea what possibly goes wrong, when core complains that it cannot map?
According to some debugging, the memory is actually mapped, but the usb driver causes an alignment fault. (dfsr register with value 0x1).
Unfortunately the seL4 kernel does not propagate this information to Genode's core. I will change the output in core, so that one can at least guess that it could be a unaligned access/address - nevertheless, this does not explain why we get this fault on Genode/seL4 and _not_ on Genode/hw ... any idea Stefan ?
On 20.09.2018 20:00, Alexander Boettcher wrote:
Anyway, here lied the actual problem. I cannot say why core resp. the sel4 kernel complains to map that memory pages here. Unfortunately, I'm on the way, and cannot test sel4 on Wandboard right now. Maybe Alexander Böttcher has some idea what possibly goes wrong, when core complains that it cannot map?
According to some debugging, the memory is actually mapped, but the usb driver causes an alignment fault. (dfsr register with value 0x1).
Unfortunately the seL4 kernel does not propagate this information to Genode's core. I will change the output in core, so that one can at
I'm wrong, seL4 provides the info. On github issue #2993 commits regarding that will show up.
Cheers,