Cronos_8890
Cronos_8890 copied to clipboard
[Feature] Enable the HID function in the USB gadget driver
In /drivers/usb/gadget/function/
the f_hid function seems to exist, but it isn't working on my phone. I think this is because it isn't enabled in the makefile/KConfig or something, and was wondering if this could be included in the kernel?
@Jack-Rickwood In "drivers/../../function" Makefile, f_hid.o not presented. So USB HID feature skipped. However, USB HID skipped on official N935 kernel source too.
Thanks for noticing. 😊
Np. Not sure if it helps, but this kernel seems to include it: https://github.com/Svirusx/Nethunter-s7-kernel-WirusMOD-AiO (the file is there for me when I flash it).
@Jack-Rickwood "usb_f_hid-y := f_hid.oobj-$(CONFIG_USB_G_ANDROID) += usb_f_hid.o"
This strings added in Makefile and also there is bunch of edits too.
https://github.com/Svirusx/Nethunter-s7-kernel-WirusMOD-AiO/commit/a246ff31ad3998b08107ebcaa370f0acda253244
Thanks again for finding.
However, Kali kernel works for pure distro. I'm not sure all of the commits works directly on Samsung Q without broke any feature.
Yeah idk either. If it's not an easy thing to do, this can be closed i think. I just opened this in case it was a super quick one line fix or something.
I think I've seen commits that does this. I don't know the use case but I'll take a look and let you know
Thanks! My use case is that there is a certain app that checks if you have a specific controller connected, and the way it checks is by matching the product name (which I can already spoof), and interface class code. The interface class for HID devices is 0x03, and I want my phone to report as that over usb. I don't even need it to be able to send inputs over. Not really the end of the world if I cant do that, but I opened this issue just in case.
Thanks! My use case is that there is a certain app that checks if you have a specific controller connected, and the way it checks is by matching the product name (which I can already spoof), and interface class code. The interface class for HID devices is 0x03, and I want my phone to report as that over usb. I don't even need it to be able to send inputs over. Not really the end of the world if I cant do that, but I opened this issue just in case.
Alright thanks for the info, are you on S7 Flat or edge?
i will add it and send you a test image once i have the chance
S7 flat, and thanks a bunch!
@ananjaser1211 Not really relevant to this issue, but I didn't think it was worth making another one. Do you know what I'm doing wrong when trying to build the kernel? I clone a slightly older version of gcc, clone this kernel, then run:
export CROSS_COMPILE=(pathtogcc)
export ARCH=arm64
export SUBARCH=arm64
export ANDROID_MAJOR_VERSION=q
export PLATFORM_VERSION=10.0.0
export ANDROID_VERSION=100000
export CURRENT_ANDROID_MAJOR_VERSION=q
make clean
make mrproper
make exynos8890_defconfig cronos_defconfig hero_defconfig oneui_defconfig
make -j$(nproc --all)
And then it compiles for a while before failing on:
macro "exynos_ss_panic_handler_safe" passed 1 arguments, but takes just 0
Any idea what it could be?
@ananjaser1211 Not really relevant to this issue, but I didn't think it was worth making another one. Do you know what I'm doing wrong when trying to build the kernel? I clone a slightly older version of gcc, clone this kernel, then run:
export CROSS_COMPILE=(pathtogcc) export ARCH=arm64 export SUBARCH=arm64 export ANDROID_MAJOR_VERSION=q export PLATFORM_VERSION=10.0.0 export ANDROID_VERSION=100000 export CURRENT_ANDROID_MAJOR_VERSION=q make clean make mrproper make exynos8890_defconfig cronos_defconfig hero_defconfig oneui_defconfig make -j$(nproc --all)
And then it compiles for a while before failing on:
macro "exynos_ss_panic_handler_safe" passed 1 arguments, but takes just 0
Any idea what it could be?
Use the included build script to compile this kernel. i dont think make *_Defconfig works, the script will cat each config into one tmp_defconfig and then make that instead cuz it sounds like some configs were not enabled / disabled.
and regardless of what ROM you are targeting,
export ANDROID_MAJOR_VERSION=q export PLATFORM_VERSION=10.0.0 export ANDROID_VERSION=100000
this is invalid, it needs to be
export ANDROID_MAJOR_VERSION=p export PLATFORM_VERSION=9.0.0
@ananjaser1211 Lol, didn't see the build script - that would have saved me a lot of headaches! Works perfectly now, thanks!
@ananjaser1211 Lol, didn't see the build script - that would have saved me a lot of headaches! Works perfectly now, thanks!
Most welcome mate.
I tried applying the commits affecting the file in question from "https://github.com/Svirusx/Nethunter-s7-kernel-WirusMOD-AiO" to this kernel and the hid function appears to work now.