Ticket #1709 (assigned bug)

Opened 12 months ago

Last modified 7 months ago

USB hid not working on gcc4 build

Reported by: mauricek Owned by: mmlr
Priority: normal Milestone: R1
Component: Servers/input_server Version: R1 development
Cc: marcusoverhagen Blocked By:
Platform: x86 Blocking:

Description

I'm trying to use haiku natively on a spare partition on my notebook. Using a USB mouse or keyboard does not work. Trying to enable legacy support in the BIOS resulted in unexpected behavior of sometimes one of them or even both working for around 10-20 seconds until the input devices hang again.

Unfortunately the syslog is not flushed onto the partition, so I cannot add one currently. Will try to tweak a little bit and then attach one to this report.

P.S.: As mentioned in the summary, this only applies for a gcc4 build, using the outdated gcc2 fixes these issues.

Attachments

syslog (103.8 KB) - added by mauricek 11 months ago.
syslog.2 (101.8 KB) - added by mauricek 6 months ago.
New syslog

Change History

  Changed 12 months ago by mmlr

  • owner changed from korli to mmlr
  • status changed from new to assigned

That's a bit strange. Does this happen only with the recent changes to usb_hid or did this happen before (like one week ago already)? Also are you sure that this is usb_hid failing and not the USB stack itself? Sadly without a syslog this is very hard to pinpoint. I will try with a GCC4 build at home, but I don't know if I'll be able to reproduce the issue.

  Changed 12 months ago by mauricek

To be honest, I am not sure, whether this is really related to usb_hid. It might also be the input_server by itself. I've recognized, that the input devices on my notebook do not work either and they are PS/2 if I remember correctly...

Anyway, with the legacy support, at least I got it partly to work. Thus, I assumed that this is caused by usb_hid.

Until now I considered this (PS/2 <-> USB input method) to be 2 different bugs and wanted to report the PS/2 issue as soon as I managed to get some syslog flushed.

I tried this first some weeks ago and last time in the middle of previous week. In case you want me to try this out with the latest change, feel free to ask.

follow-up: ↓ 4   Changed 12 months ago by mmlr

To get the syslog flushed you could add "sync" to the bootscript (at "/boot/beos/system/boot"). It's sure possible that the input is not working, what I find strange is that this only happens with a GCC4 build. What hardware do you run Haiku on BTW?

in reply to: ↑ 3   Changed 12 months ago by mauricek

I just tried out a recent (post-BG) build and the first time I boot into Haiku I have a working usb_mouse. Also the PS/2 keyboard is working. So it seems like this specific issue is resolved. Though the system is dead after a few seconds, I assume that this is something bfs_related as neither sync nor copying the syslog to another place really copies anything on the partition. It just vanishes after reboot or has never been written to disc.

On a second boot though, the system hangs at one point or the other. The input devices do not work at any time, but this might be related to something else.

I am using a Acer TravelMate 291, usually it doesn't have any weird configuration. Also BeOS and ZETA worked well with it.

In the end, as the input device is working until some point (I guess when it is trying to sync to disc and messes up) I think one can reject the task or keep it open until it's more stable in general...

Changed 11 months ago by mauricek

  Changed 11 months ago by mauricek

Hey, since the latest changes Haiku seems to run much better on a gcc4 build here. I am even capable of getting a syslog now.

As it states, the keyboard/mouse part in the keyboard_manager is not capable of resetting the device. For the keyboard this happens in src/add-ons/kernel/bus_managers/ps2 line 189.

I hope this helps in debugging. In case you need further assistance, feel free to tell me.

  Changed 11 months ago by marcusoverhagen

  • cc marcusoverhagen added

  Changed 7 months ago by mmlr

Have you retried with a current revision? Much has happened since, usb_hid has been pretty much rewritten and there have been a few GCC4 related changes. So it should be worth a try again, maybe now debugging this further is possible? I'd be interested in a new syslog at least.

Changed 6 months ago by mauricek

New syslog

Note: See TracTickets for help on using tickets.