Hi all, Michal is working on another round of changes for the Logitech wheel (hid-lg4ff), and we are including code to switch between different modes - thus allowing a G27 wheel (for example) to emulate a simpler wheel. At present we automatically 'upgrade' wheel to the best mode they can handle, we then allow the user to 'downgrade' as they wish. However, we have to prevent them downgrading to the simplest (USB_DEVICE_ID_LOGITECH_WHEEL) as when the devices does the USB detach/attach it would then just upgrade automatically. We have a module parameter which prevents the automatic upgrade if the user _really_ wants their expensive wheel to behave like the cheapest. The code does this: -- /* Automatic switching has to be disabled for the switch to DF-EX mode to work correctly */ if (target_product_id == USB_DEVICE_ID_LOGITECH_WHEEL && !lg4ff_no_autoswitch) { hid_info(hid, "\"%s\" cannot be switched to \"DF-EX\" mode. Load the \"hid_logitech\" module with \"lg4ff_no_autoswitch=1\" parameter set and try again.\n", entry->real_name); return -EINVAL; } -- So it throws an EINVAL if you try to set simplest when auto-switch is enabled. The message on the console is a little confusing, but hid debug explains. -- root@bigbox:/storage/linux-git# echo DF-EX > /sys/bus/hid/devices/0003\:046D\:C298.000F/alternate_modes bash: echo: write error: Invalid argument -- Feb 4 22:21:01 bigbox kernel: [ 7715.452435] logitech 0003:046D:C298.000F: "G27 Racing Wheel" cannot be switched to "DF-EX" mode. Load the "hid_logitech" module with "lg4ff_no_autoswitch=1" parameter set and try again. -- Would it make more sense to use EPERM, or is there another error code we can throw to be more informative. Thanks, Simon. -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html