İlk arka plan. Logitech oyun paneli cihazları için bir sürücü geliştiriyorum. Üzerinde ekran bulunan bir klavye. Sürücü iyi çalışıyor ancak varsayılan olarak cihaz HID tarafından yönetiliyor. HID’in aygıtı sürücümden önce devralmasını önlemek için onu hid-core.c’de kara listeye alabilirim. Bu işe yarar, ancak birkaç kişiyle çalıştığım için en iyi çözüm değil ve hepimiz sık sık initramfs ve benzerlerini yeniden inşa etmeyi içerdiği için bir angar olan HID modülümüzü yamalamaya devam etmek zorundayız.
Bu problemin üstünde biraz araştırma yaptım ve buldum bu posta listesi yazı sonunda götürdü LWN bu yazıda . Bu, çalışma zamanında cihazları belirli sürücülere bağlamak için bir mekanizma tanımlar. Bu tam ihtiyacım olan şey gibi görünüyor.
Bu yüzden denedim. Klavyeyi HID'den ayırmayı başardım. Bu işe yaradı ve beklendiği gibi artık yazamadım. Ama onu sürücümüze bağlamaya çalıştığımda "hata: böyle bir cihaz yok" mesajı alıyorum ve işlem başarısız oluyor.
Öyleyse sorum şudur: Bir HID aygıtını sakladığınızda ve kendi sürücünüzü sağladığınızda ne olacağını çoğaltmak için çekirdek bağlama / açma işlemlerini nasıl kullanırım? - bu - her zaman hid-core.c nin yama ihtiyacını değiştirmek için mi?
Şoförümüzün kaynağı burada: https://github.com/ali1234/lg4l