Forums

Skip to content

Advanced search
  • Quick links
    • Unanswered topics
    • Active topics
    • Search
  • FAQ
  • Login
  • Register
  • Board index Assistance Desktop Environments
  • Search

Can't get fdi and hal working correctly

Problems with GUI applications? Questions about X, KDE, Gnome, Fluxbox, etc.? Come on in. NOTE: For multimedia, go up one forum
Post Reply
Advanced search
4 posts • Page 1 of 1
Author
Message
azp
Guru
Guru
Posts: 457
Joined: Sun Nov 16, 2003 5:48 pm
Location: Sweden
Contact:
Contact azp
Website

Can't get fdi and hal working correctly

  • Quote

Post by azp » Wed Mar 18, 2009 7:01 pm

Hi guys

I'm scouting the forums and been googeling this for a long time, but I just can't seem to get the HAL working correctly. I've written my fdi-file to look like it should, as well as removed the config part from xorg. The keyboard works great, but the entire X freezes when I put in the mouse. If I remove it, it unlocks again.

My xorg.conf:

Code: Select all

Section "ServerLayout"
	Identifier		"X.org Configured"
	Screen			0 "Screen0" 0 0
EndSection

Section "ServerFlags"
	Option	"AutoAddDevices"	"on"
	Option	"AutoEnableDevices" "on"
	Option	"AllowEmptyInput"	"on"
EndSection
	
Section "Files"
	FontPath     "built-ins"
EndSection

Section "Module"
	Load  "xtrap"
	Load  "wfb"
EndSection

Section "DRI"
	Mode 0666
EndSection

Section "Extensions"
	Option "XVideo" "Enable"
	Option "Composite" "Enable"
	Option "RENDER" "Enable"
EndSection

Section "Monitor"
	Identifier   "Monitor0"
	VendorName	"Samsung"
	ModelName	"SyncMaster 256bw"
	HorizSync    30.0 - 81.0
	VertRefresh  56.0 - 75.0
	DisplaySize  475 295
	Option "DPMS"
EndSection

Section "Monitor"
    Identifier     "Monitor1"
    VendorName     "Unknown"
    ModelName      "Philips"
    HorizSync       31.0 - 80.0
    VertRefresh     47.0 - 85.0
    Option         "DPMS"
EndSection


Section "Device"
        ### Available Driver options are:-
        ### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
        ### <string>: "String", <freq>: "<f> Hz/kHz/MHz"
        ### [arg]: arg optional
        #Option     "NoAccel"            	# [<bool>]
        #Option     "AccelMethod"        	# [<str>]
        #Option     "offscreensize"      	# [<str>]
        Option     "SWcursor"				"False"	# [<bool>]
        #Option     "ignoreconnector"    	# [<str>]
        #Option     "forcereduced"       	# [<bool>]
        #Option     "forcedpi"           	# <i>
        #Option     "useconfiguredmonitor" 	# [<bool>]
        #Option     "HPD"                	# <str>
        #Option     "NoRandr"            	# [<bool>]
        #Option     "RROutputOrder"      	# [<str>]
        Option     "DRI"                	"True"	# [<bool>]
        #Option     "TVMode"             	# [<str>]
        #Option     "ScaleType"          	# [<str>]
        #Option     "UseAtomBIOS"        	# [<bool>]
        #Option     "AtomBIOS"           	# [<str>]
        #Option     "UnverifiedFeatures" 	# [<bool>]
        #Option     "Audio"              	# [<bool>]
        #Option     "HDMI"               	# [<str>]
        #Option     "COHERENT"           	# [<str>]
	Identifier  "ATI0"
	Driver      "fglrx"
	VendorName  "ATI Technologies Inc"
	BoardName   "RV770 [Radeon HD 4850]"
	BusID       "PCI:2:0:0"
EndSection

Section "Screen"
	Identifier "Screen0"
	Device     "ATI0"
	Monitor    "Monitor0"
	DefaultColorDepth 24
	SubSection "Display"
		Viewport   0 0
		Depth     24
		Modes "1680x1050" "1280x1024" "1024x768"
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     32
		Modes "1680x1050" "1280x1024" "1024x768"
	EndSubSection
EndSection
My /etc/hal/fdi/policy/10-x11-input.fdi

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<deviceinfo version="0.2">
	<match key="info.capabilities" contains="input.keyboard">
		<merge key="input.x11_options.XkbRules" type="string">xorg</merge>
		<merge key="input.x11_options.XkbModel" type="string">evdev</merge>
		<merge key="input.x11_options.XkbLayout" type="string">se</merge>
	</match>

	<match key="info.capabilities" contains="input.mouse">
		<merge key="input.x11_driver" type="string">evdev</merge>
		<!--<merge key="input.x11_options.RelHWHEELOptions" type="string">invert</merge>-->
		<merge key="input.x11_options.Emulate3Buttons" type="string">true</merge>
	</match>
</deviceinfo>
and this is the log from Xorg:

Code: Select all

[mi] EQ overflowing. The server is probably stuck in an infinite loop.
[mi] EQ overflowing. The server is probably stuck in an infinite loop.
[mi] EQ overflowing. The server is probably stuck in an infinite loop.
[mi] EQ overflowing. The server is probably stuck in an infinite loop.
[mi] mieqEnequeue: out-of-order valuator event; dropping.
[mi] EQ overflowing. The server is probably stuck in an infinite loop.
[mi] EQ overflowing. The server is probably stuck in an infinite loop.
[mi] EQ overflowing. The server is probably stuck in an infinite loop.
[mi] EQ overflowing. The server is probably stuck in an infinite loop.
[mi] EQ overflowing. The server is probably stuck in an infinite loop.
[mi] EQ overflowing. The server is probably stuck in an infinite loop.
...
...
...
hundreds of these
...
...
...
[mi] EQ overflowing. The server is probably stuck in an infinite loop.
[mi] EQ overflowing. The server is probably stuck in an infinite loop.
[mi] mieqEnequeue: out-of-order valuator event; dropping.
[mi] EQ overflowing. The server is probably stuck in an infinite loop.
[mi] EQ overflowing. The server is probably stuck in an infinite loop.
[mi] EQ overflowing. The server is probably stuck in an infinite loop.
[mi] EQ overflowing. The server is probably stuck in an infinite loop.
[mi] EQ overflowing. The server is probably stuck in an infinite loop.
[mi] EQ overflowing. The server is probably stuck in an infinite loop.
[mi] EQ overflowing. The server is probably stuck in an infinite loop.
[mi] EQ overflowing. The server is probably stuck in an infinite loop.
(II) Logitech USB-PS/2 Optical Mouse: Setting mouse protocol to "PS/2"
(II) Logitech USB-PS/2 Optical Mouse: Setting mouse protocol to "PS/2"
(II) Logitech USB-PS/2 Optical Mouse: Setting mouse protocol to "PS/2"
(II) Logitech USB-PS/2 Optical Mouse: Setting mouse protocol to "PS/2"
(II) Mouse autoprobe: selecting PS/2 protocol
(II) Logitech USB-PS/2 Optical Mouse: Setting mouse protocol to "PS/2"
(II) Logitech USB-PS/2 Optical Mouse: Setting mouse protocol to "PS/2"
(II) Logitech USB-PS/2 Optical Mouse: Setting mouse protocol to "PS/2"
(II) Logitech USB-PS/2 Optical Mouse: Setting mouse protocol to "PS/2"
(II) Logitech USB-PS/2 Optical Mouse: Setting mouse protocol to "PS/2"
(II) Logitech USB-PS/2 Optical Mouse: Setting mouse protocol to "PS/2"
(II) Logitech USB-PS/2 Optical Mouse: Setting mouse protocol to "PS/2"
(II) Logitech USB-PS/2 Optical Mouse: Setting mouse protocol to "PS/2"
(II) Logitech USB-PS/2 Optical Mouse: Setting mouse protocol to "PS/2"
(II) Mouse autoprobe: selecting PS/2 protocol
(II) Mouse autoprobe: selecting PS/2 protocol
(II) Logitech USB-PS/2 Optical Mouse: Setting mouse protocol to "PS/2"
(II) Logitech USB-PS/2 Optical Mouse: Setting mouse protocol to "PS/2"
(II) Logitech USB-PS/2 Optical Mouse: Setting mouse protocol to "PS/2"
(II) Logitech USB-PS/2 Optical Mouse: Setting mouse protocol to "PS/2"
(II) Logitech USB-PS/2 Optical Mouse: Setting mouse protocol to "PS/2"
(II) Logitech USB-PS/2 Optical Mouse: Setting mouse protocol to "PS/2"
(II) Logitech USB-PS/2 Optical Mouse: Setting mouse protocol to "PS/2"
(II) Logitech USB-PS/2 Optical Mouse: Setting mouse protocol to "PS/2"
(II) Logitech USB-PS/2 Optical Mouse: Setting mouse protocol to "PS/2"
(II) config/hal: removing device Logitech USB-PS/2 Optical Mouse
(II) UnloadModule: "mouse"
(II) config/hal: Adding input device Logitech USB-PS/2 Optical Mouse
(**) Option "Device" "/dev/input/event3"
(II) Logitech USB-PS/2 Optical Mouse: Setting mouse protocol to "PS/2"
(**) Logitech USB-PS/2 Optical Mouse: Device: "/dev/input/event3"
(==) Logitech USB-PS/2 Optical Mouse: Protocol: "Auto"
(**) Logitech USB-PS/2 Optical Mouse: always reports core events
(**) Option "Device" "/dev/input/event3"
(**) Option "Emulate3Buttons" "false"
(**) Logitech USB-PS/2 Optical Mouse: ZAxisMapping: buttons 4 and 5
(**) Logitech USB-PS/2 Optical Mouse: Buttons: 9
(**) Logitech USB-PS/2 Optical Mouse: Sensitivity: 1
(II) XINPUT: Adding extended input device "Logitech USB-PS/2 Optical Mouse" (type: MOUSE)
In this case I have yanked out and inserted the mouse about three times. As you can see, it keeps on printing the lines:

Code: Select all

(II) Logitech USB-PS/2 Optical Mouse: Setting mouse protocol to "PS/2"
The other lines

Code: Select all

[mi] EQ overflowing. The server is probably stuck in an infinite loop.
[mi] mieqEnequeue: out-of-order valuator event; dropping.
are actually new, and I think they are a result of me trying to get the framebuffer working on my new graphics card.

My lshal says:

Code: Select all

udi = '/org/freedesktop/Hal/devices/usb_device_1d6b_1_0000_00_1d_0_if0_0_logicaldev_input'
  info.capabilities = {'input', 'input.mouse'} (string list)
  info.category = 'input'  (string)
  info.parent = '/org/freedesktop/Hal/devices/usb_device_1d6b_1_0000_00_1d_0_if0_0'  (string)
  info.product = 'Logitech USB-PS/2 Optical Mouse'  (string)
  info.subsystem = 'input'  (string)
  info.udi = '/org/freedesktop/Hal/devices/usb_device_1d6b_1_0000_00_1d_0_if0_0_logicaldev_input'  (string)
  input.device = '/dev/input/event3'  (string)
  input.originating_device = '/org/freedesktop/Hal/devices/usb_device_1d6b_1_0000_00_1d_0_if0_0'  (string)
  input.product = 'Logitech USB-PS/2 Optical Mouse'  (string)
  input.x11_driver = 'mouse'  (string)
  input.x11_options.Emulate3Buttons = 'false'  (string)
  input.x11_options.RelHWHEELOptions = 'invert'  (string)
  linux.device_file = '/dev/input/event3'  (string)
  linux.hotplug_type = 2  (0x2)  (int)
  linux.subsystem = 'input'  (string)
  linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1d.0/usb6/6-1/6-1:1.0/input/input5/event3'  (string)

udi = '/org/freedesktop/Hal/devices/usb_device_46d_c01d_noserial'
  info.linux.driver = 'usb'  (string)
  info.parent = '/org/freedesktop/Hal/devices/usb_device_1d6b_1_0000_00_1d_0'  (string)
  info.product = 'MX510 Optical Mouse'  (string)
  info.subsystem = 'usb_device'  (string)
  info.udi = '/org/freedesktop/Hal/devices/usb_device_46d_c01d_noserial'  (string)
  info.vendor = 'Logitech, Inc.'  (string)
  linux.device_file = '/dev/bus/usb/006/003'  (string)
  linux.hotplug_type = 2  (0x2)  (int)
  linux.subsystem = 'usb'  (string)
  linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1d.0/usb6/6-1'  (string)
  usb_device.bus_number = 6  (0x6)  (int)
  usb_device.can_wake_up = true  (bool)
  usb_device.configuration_value = 1  (0x1)  (int)
  usb_device.device_class = 0  (0x0)  (int)
  usb_device.device_protocol = 0  (0x0)  (int)
  usb_device.device_revision_bcd = 8448  (0x2100)  (int)
  usb_device.device_subclass = 0  (0x0)  (int)
  usb_device.is_self_powered = false  (bool)
  usb_device.linux.device_number = 3  (0x3)  (int)
  usb_device.linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1d.0/usb6/6-1'  (string)
  usb_device.max_power = 98  (0x62)  (int)
  usb_device.num_configurations = 1  (0x1)  (int)
  usb_device.num_interfaces = 1  (0x1)  (int)
  usb_device.num_ports = 0  (0x0)  (int)
  usb_device.product = 'MX510 Optical Mouse'  (string)
  usb_device.product_id = 49181  (0xc01d)  (int)
  usb_device.speed = 1.5 (1.5) (double)
  usb_device.vendor = 'Logitech, Inc.'  (string)
  usb_device.vendor_id = 1133  (0x46d)  (int)
  usb_device.version = 2.0 (2) (double)
Even though I've stated driver = evdev in the fdi file, it still reports as driver = mouse in lshal. I don't know if that is a possible issue. My make.conf has the settings:
INPUT_DEVICES="evdev"

and on this forum I have read that it should be enough. It didn't work when I had "keyboard mouse evdev" as settings either. And I had rebuilt my xorg-server with it. What to do?
Weeks of coding can save you hours of planning.
Top
azp
Guru
Guru
Posts: 457
Joined: Sun Nov 16, 2003 5:48 pm
Location: Sweden
Contact:
Contact azp
Website

  • Quote

Post by azp » Wed Mar 18, 2009 7:12 pm

Ok, I read through the sticky fdi thread again, and found an error in my config. Needed to add
<device>
</device>

around the mouse and keyboard respectively. Now it shows the "evdev" as driver, and it actually works in X if I remove and insert the mouse while in in it. But if I change to TTY1, and then go back, it freezes again, until I remove and insert the mouse.
Weeks of coding can save you hours of planning.
Top
azp
Guru
Guru
Posts: 457
Joined: Sun Nov 16, 2003 5:48 pm
Location: Sweden
Contact:
Contact azp
Website

  • Quote

Post by azp » Wed Mar 18, 2009 8:09 pm

Ok, now it's finally fixed. For some reason the problem is gone, either because I removed my rule for the mouse in udev.d, or because I rebuilt Xorg + all the drivers (emerge $(qlist -I /x11-drivers)) without "keyboard mouse" in make.conf.

It could also be because I changed my keyboard settings to <merge key="input.x11_options.XkbRules" type="string">evdev</merge> instead of "xorg". I will see if I can backwards engineer it =)
Weeks of coding can save you hours of planning.
Top
azp
Guru
Guru
Posts: 457
Joined: Sun Nov 16, 2003 5:48 pm
Location: Sweden
Contact:
Contact azp
Website

  • Quote

Post by azp » Wed Mar 18, 2009 8:21 pm

I have tried reverting the udev-rules, as well as change the keyboard setting back to "xorg", and none of it recreates the problem, so it must be so simpel that I simply needed to rebuild my drivers.
Hope it help somebody else!

My fdi now looks like:

Code: Select all

root@skare$ cat /etc/hal/fdi/policy/10-x11-input.fdi 
<?xml version="1.0" encoding="utf-8"?>
<deviceinfo version="0.2">
	<device>
		<match key="info.capabilities" contains="input.keyboard">
			<merge key="input.x11_options.XkbRules" type="string">evdev</merge>
			<merge key="input.x11_options.XkbModel" type="string">evdev</merge>
			<merge key="input.x11_options.XkbLayout" type="string">se</merge>
			<!--<merge key="input.x11_options.XkbLayout" type="string">altwin:menu</merge>-->
		</match>
	</device>
	<device>
		<match key="info.capabilities" contains="input.mouse">
			<merge key="input.x11_driver" type="string">evdev</merge>
			<merge key="input.x11_options.Emulate3Buttons" type="string">false</merge>
		</match>
	</device>
</deviceinfo>
and my lshal for the mouse says:

Code: Select all

root@skare$ hal-find-by-capability --capability input.mouse |xargs hal-device 
udi = '/org/freedesktop/Hal/devices/usb_device_46d_c01d_noserial_if0_logicaldev_input'
  info.subsystem = 'input'  (string)
  info.product = 'Logitech USB-PS/2 Optical Mouse'  (string)
  linux.device_file = '/dev/input/event3'  (string)
  info.category = 'input'  (string)
  info.udi = '/org/freedesktop/Hal/devices/usb_device_46d_c01d_noserial_if0_logicaldev_input'  (string)
  input.device = '/dev/input/event3'  (string)
  input.originating_device = '/org/freedesktop/Hal/devices/usb_device_46d_c01d_noserial_if0'  (string)
  info.capabilities = { 'input', 'input.mouse' } (string list)
  input.product = 'Logitech USB-PS/2 Optical Mouse'  (string)
  linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1d.0/usb6/6-1/6-1:1.0/input/input18/event3'  (string)
  input.x11_driver = 'evdev'  (string)
  info.parent = '/org/freedesktop/Hal/devices/usb_device_46d_c01d_noserial_if0'  (string)
  input.x11_options.Emulate3Buttons = 'false'  (string)
  linux.hotplug_type = 2  (0x2)  (int)
  linux.subsystem = 'input'  (string)
and the keyboard:

Code: Select all

root@skare$ hal-find-by-capability --capability input.keys |xargs hal-device 
udi = '/org/freedesktop/Hal/devices/platform_i8042_i8042_KBD_port_logicaldev_input'
  info.subsystem = 'input'  (string)
  input.xkb.layout = 'us'  (string)
  info.product = 'AT Translated Set 2 keyboard'  (string)
  linux.device_file = '/dev/input/event2'  (string)
  input.xkb.variant = ''  (string)
  info.category = 'input'  (string)
  info.udi = '/org/freedesktop/Hal/devices/platform_i8042_i8042_KBD_port_logicaldev_input'  (string)
  input.x11_options.XkbRules = 'xorg'  (string)
  input.x11_options.XkbModel = 'evdev'  (string)
  input.device = '/dev/input/event2'  (string)
  input.x11_options.XkbLayout = 'se'  (string)
  input.originating_device = '/org/freedesktop/Hal/devices/platform_i8042_i8042_KBD_port'  (string)
  info.capabilities = { 'input', 'input.keyboard', 'input.keypad', 'input.keys', 'button' } (string list)
  input.product = 'AT Translated Set 2 keyboard'  (string)
  linux.sysfs_path = '/sys/devices/platform/i8042/serio0/input/input2/event2'  (string)
  input.x11_driver = 'evdev'  (string)
  info.parent = '/org/freedesktop/Hal/devices/platform_i8042_i8042_KBD_port'  (string)
  info.addons.singleton = { 'hald-addon-input' } (string list)
  linux.hotplug_type = 2  (0x2)  (int)
  input.xkb.rules = 'base'  (string)
  linux.subsystem = 'input'  (string)
  input.xkb.model = 'evdev'  (string)
I'm using svorak with my swedish layout, but I let Gnome handle that, so I won't add it to the file now. I might in the future, just for fun ;)
Weeks of coding can save you hours of planning.
Top
Post Reply

4 posts • Page 1 of 1

Return to “Desktop Environments”

Jump to
  • Assistance
  • ↳   News & Announcements
  • ↳   Frequently Asked Questions
  • ↳   Installing Gentoo
  • ↳   Multimedia
  • ↳   Desktop Environments
  • ↳   Networking & Security
  • ↳   Kernel & Hardware
  • ↳   Portage & Programming
  • ↳   Gamers & Players
  • ↳   Other Things Gentoo
  • ↳   Unsupported Software
  • Discussion & Documentation
  • ↳   Documentation, Tips & Tricks
  • ↳   Gentoo Chat
  • ↳   Gentoo Forums Feedback
  • ↳   Duplicate Threads
  • International Gentoo Users
  • ↳   中文 (Chinese)
  • ↳   Dutch
  • ↳   Finnish
  • ↳   French
  • ↳   Deutsches Forum (German)
  • ↳   Diskussionsforum
  • ↳   Deutsche Dokumentation
  • ↳   Greek
  • ↳   Forum italiano (Italian)
  • ↳   Forum di discussione italiano
  • ↳   Risorse italiane (documentazione e tools)
  • ↳   Polskie forum (Polish)
  • ↳   Instalacja i sprzęt
  • ↳   Polish OTW
  • ↳   Portuguese
  • ↳   Documentação, Ferramentas e Dicas
  • ↳   Russian
  • ↳   Scandinavian
  • ↳   Spanish
  • ↳   Other Languages
  • Architectures & Platforms
  • ↳   Gentoo on ARM
  • ↳   Gentoo on PPC
  • ↳   Gentoo on Sparc
  • ↳   Gentoo on Alternative Architectures
  • ↳   Gentoo on AMD64
  • ↳   Gentoo for Mac OS X (Portage for Mac OS X)
  • Board index
  • All times are UTC
  • Delete cookies

© 2001–2026 Gentoo Foundation, Inc.

Powered by phpBB® Forum Software © phpBB Limited

Privacy Policy

 

 

magic