diff --git a/repos/dde_linux/run/usb_hid.run b/repos/dde_linux/run/usb_hid.run
index 71f1509751..e36a1630ff 100644
--- a/repos/dde_linux/run/usb_hid.run
+++ b/repos/dde_linux/run/usb_hid.run
@@ -64,11 +64,9 @@ if { [get_cmd_switch --autopilot] &&
set build_components {
core init timer
- drivers/usb_host
- drivers/usb_hid
+ drivers/usb
test/input
server/dynamic_rom
- server/report_rom
}
lappend_if [have_spec gpio] build_components drivers/gpio
@@ -120,39 +118,27 @@ append config {
-
-
-
-
-
-
-
-
- }
-append config ""
-append config {
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
-
-
+
+
+
+
+
+
+
+
+
@@ -201,10 +187,9 @@ install_config $config
# generic modules
set boot_modules {
- core ld.lib.so init timer usb_hid_drv test-input dynamic_rom report_rom
+ core ld.lib.so init timer usb_drv test-input dynamic_rom
}
-append boot_modules [usb_host_drv_binary]
lappend_if [have_spec gpio] boot_modules [gpio_drv]
append_platform_drv_boot_modules
@@ -230,7 +215,7 @@ run_genode_until {\[init -\> test-input\] Input event #11.*\n} 40 [output_spawn_
grep_output {^\[init }
unify_output { number [0-9]+} ""
-unify_output {(?n)on usb-usbbus.*$} ""
+unify_output {(?n)on usb-dummy.*$} ""
unify_output {(?n)using .*$} ""
unify_output {(?n)^.*__wait_event.*$} ""
unify_output {(?n)^.*Failed to submit URB.*$} ""
@@ -247,8 +232,10 @@ compare_output_to {
[init -> test-input] Input event #5 RELEASE BTN_LEFT
[init -> usb_drv] dev_info: USB disconnect, device
[init -> usb_drv] dev_info: new full-speed USB device
-[init -> usb_hid_drv] dev_info: input: USB HID v1.11 Keyboard [HID 03eb:204d]
-[init -> usb_hid_drv] dev_info: input: USB HID v1.11 Mouse [HID 03eb:204d]
+[init -> usb_drv] dev_info: D L
+[init -> usb_drv] dev_info: input: USB HID v1.11 Keyboard [D L]
+[init -> usb_drv] dev_info: D L
+[init -> usb_drv] dev_info: input: USB HID v1.11 Mouse [D L]
[init -> test-input] Input event #6 PRESS KEY_X 0
[init -> test-input] Input event #7 RELEASE KEY_X
[init -> test-input] Input event #8 PRESS BTN_LEFT 0
diff --git a/repos/dde_linux/run/usb_hid_raw.run b/repos/dde_linux/run/usb_hid_raw.run
new file mode 100644
index 0000000000..71f1509751
--- /dev/null
+++ b/repos/dde_linux/run/usb_hid_raw.run
@@ -0,0 +1,258 @@
+#
+# USB HID test
+#
+# By default, the run script runs interactively and reports any received USB
+# input events to the console.
+#
+# When run with the '--autopilot' run option, the run script tests the USB
+# input events generated by a 'Pro Micro' microcontroller.
+#
+# Pro Micro setup instructions
+# ----------------------------
+#
+# Install prerequisites (example for Xubuntu 16.04):
+#
+# $ sudo apt-get install gcc-avr avr-libc avrdude
+#
+# Checkout and build the microcontroller software:
+#
+# $ git clone https://github.com/cproc/lufa.git
+# $ cd lufa
+# $ git checkout genode_usb_tests
+# $ cd Demos/Device/ClassDriver/KeyboardMouseGenode
+# $ make
+#
+# Connect the 'RST' pin with the 'GND' pin to hold the Pro Micro in the reset
+# state.
+#
+# Connect the Pro Micro to the host PC
+#
+# Check the device file name with 'dmesg'. If it is not 'ttyACM0', change
+# 'AVRDUDE_PORT' in 'makefile' accordingly.
+#
+# Release the RST/GND pin connection and within the next 8 seconds run:
+#
+# $ make avrdude
+#
+# Disconnect the Pro Micro or put it into reset state again to avoid unexpected
+# input events on the host PC.
+#
+
+if { [have_spec linux] || [have_spec muen] } {
+ puts "Run script does not support Linux and Muen."
+ exit 0
+}
+
+if { [get_cmd_switch --autopilot] && [have_include "power_on/qemu"] } {
+ puts "Run script does not support autopilot mode on Qemu"
+ exit 0
+}
+
+if { [get_cmd_switch --autopilot] &&
+ ![have_spec arndale] &&
+ ![have_spec panda] &&
+ ![have_spec rpi] &&
+ ![have_spec x86] &&
+ ![have_spec imx6q_sabrelite]} {
+ puts "Run script does not support autopilot mode on this platform"
+ exit 0
+}
+
+#
+# Build
+#
+
+set build_components {
+ core init timer
+ drivers/usb_host
+ drivers/usb_hid
+ test/input
+ server/dynamic_rom
+ server/report_rom
+}
+
+lappend_if [have_spec gpio] build_components drivers/gpio
+
+source ${genode_dir}/repos/base/run/platform_drv.inc
+append_platform_drv_build_components
+
+build $build_components
+
+proc gpio_drv { } { if {[have_spec rpi] && [have_spec hw]} { return hw_gpio_drv }
+ if {[have_spec rpi] && [have_spec foc]} { return foc_gpio_drv }
+ return gpio_drv }
+
+create_boot_directory
+
+#
+# Generate config
+#
+
+append config {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ }
+
+append_if [have_spec gpio] config "
+
+
+
+
+ "
+
+append_platform_drv_config
+
+append config {
+
+
+
+
+
+
+
+
+
+
+
+
+
+ }
+append config ""
+append config {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
+
+install_config $config
+
+#
+# Boot modules
+#
+
+# generic modules
+set boot_modules {
+ core ld.lib.so init timer usb_hid_drv test-input dynamic_rom report_rom
+}
+
+append boot_modules [usb_host_drv_binary]
+lappend_if [have_spec gpio] boot_modules [gpio_drv]
+
+append_platform_drv_boot_modules
+
+build_boot_image $boot_modules
+
+append qemu_args " -usb -usbdevice mouse -usbdevice keyboard"
+append qemu_args " -device usb-ehci,id=ehci"
+append xen_args { usbdevice=\["mouse","keyboard"\] }
+
+if { [have_include "power_on/qemu"] || ![get_cmd_switch --autopilot] } { run_genode_until forever }
+
+# autopilot test
+
+run_genode_until {\[init -\> test-input\] Input event #0\t} 60
+
+# remove everything before the first interesting line
+regexp {(\[init -\> test-input\] Input event #0\t.*)} $output all output
+
+run_genode_until {\[init -\> test-input\] Input event #11.*\n} 40 [output_spawn_id]
+
+# pay only attention to the output of init and its children
+grep_output {^\[init }
+
+unify_output { number [0-9]+} ""
+unify_output {(?n)on usb-usbbus.*$} ""
+unify_output {(?n)using .*$} ""
+unify_output {(?n)^.*__wait_event.*$} ""
+unify_output {(?n)^.*Failed to submit URB.*$} ""
+unify_output {(?n)^.*dev_warn.*$} ""
+filter_out_color_escape_sequences
+trim_lines
+
+compare_output_to {
+[init -> test-input] Input event #0 PRESS KEY_X 0
+[init -> test-input] Input event #1 RELEASE KEY_X
+[init -> test-input] Input event #2 PRESS BTN_LEFT 0
+[init -> test-input] Input event #3 REL_MOTION -1+0
+[init -> test-input] Input event #4 REL_MOTION +0+1
+[init -> test-input] Input event #5 RELEASE BTN_LEFT
+[init -> usb_drv] dev_info: USB disconnect, device
+[init -> usb_drv] dev_info: new full-speed USB device
+[init -> usb_hid_drv] dev_info: input: USB HID v1.11 Keyboard [HID 03eb:204d]
+[init -> usb_hid_drv] dev_info: input: USB HID v1.11 Mouse [HID 03eb:204d]
+[init -> test-input] Input event #6 PRESS KEY_X 0
+[init -> test-input] Input event #7 RELEASE KEY_X
+[init -> test-input] Input event #8 PRESS BTN_LEFT 0
+[init -> test-input] Input event #9 REL_MOTION -1+0
+[init -> test-input] Input event #10 REL_MOTION +0+1
+[init -> test-input] Input event #11 RELEASE BTN_LEFT
+}
diff --git a/repos/ports/run/vbox5_genode_usb_hid.run b/repos/ports/run/vbox5_genode_usb_hid.run
index 6b16ef0a77..d801135e01 100644
--- a/repos/ports/run/vbox5_genode_usb_hid.run
+++ b/repos/ports/run/vbox5_genode_usb_hid.run
@@ -237,7 +237,7 @@ regexp {(\[init -\> log_terminal\] \[init -\> test-input\] Input event #0\t.*)}
run_genode_until {.*\[init -\> test-input\] Input event #11.*\n} 60 [output_spawn_id]
unify_output { number [0-9]+} ""
-unify_output {(?n)on usb-usbbus.*$} ""
+unify_output {(?n)on usb-dummy.*$} ""
unify_output {(?n)using .*$} ""
unify_output {(?n)^.*__wait_event.*$} ""
unify_output {(?n)^.*Failed to submit URB.*$} ""
@@ -260,8 +260,10 @@ compare_output_to {
[init -> usb_drv] dev_info: new full-speed USB device
[init -> virtualbox] Attach USB device (vendor=3eb, product=204d)
[init -> log_terminal] [init -> usb_drv] dev_info: new full-speed USB device
-[init -> log_terminal] [init -> usb_hid_drv] dev_info: input: USB HID v1.11 Keyboard [HID 03eb:204d]
-[init -> log_terminal] [init -> usb_hid_drv] dev_info: input: USB HID v1.11 Mouse [HID 03eb:204d]
+[init -> log_terminal] [init -> usb_drv] dev_info: D L
+[init -> log_terminal] [init -> usb_drv] dev_info: input: USB HID v1.11 Keyboard [D L]
+[init -> log_terminal] [init -> usb_drv] dev_info: D L
+[init -> log_terminal] [init -> usb_drv] dev_info: input: USB HID v1.11 Mouse [D L]
[init -> log_terminal] [init -> test-input] Input event #6 PRESS KEY_X 0
[init -> log_terminal] [init -> test-input] Input event #7 RELEASE KEY_X
[init -> log_terminal] [init -> test-input] Input event #8 PRESS BTN_LEFT 0
diff --git a/tool/autopilot.list b/tool/autopilot.list
index 4c7ecdbc53..fec8a9e109 100644
--- a/tool/autopilot.list
+++ b/tool/autopilot.list
@@ -57,6 +57,7 @@ timeout
timer_accuracy
tz_vmm
usb_hid
+usb_hid_raw
vbox4_ubuntu_14_04_32
vbox4_ubuntu_14_04_64
vbox4_ubuntu_16_04_32