making the linux kernel better
play

Making the Linux Kernel better (without coding) Wolfram Sang - PowerPoint PPT Presentation

. . Making the Linux Kernel better (without coding) Wolfram Sang Consultant 1.2.2014, FOSDEM14 Wolfram Sang (wsa@the-dreams.de) Making the Linux Kernel better 1.2.2014, FOSDEM14 1 / 20 About me Linux Kernel consultant & hacker


  1. . . Making the Linux Kernel better (without coding) Wolfram Sang Consultant 1.2.2014, FOSDEM’14 Wolfram Sang (wsa@the-dreams.de) Making the Linux Kernel better 1.2.2014, FOSDEM’14 1 / 20

  2. About me Linux Kernel consultant & hacker (mostly embedded & driver frameworks) I2C maintainer like to share knowledge and enable people to get active like muted devices, especially during talks Wolfram Sang (wsa@the-dreams.de) Making the Linux Kernel better 1.2.2014, FOSDEM’14 2 / 20

  3. How it all starts Unable to open device Please make sure the camera is connected and that the correct driver is installed. Wolfram Sang (wsa@the-dreams.de) Making the Linux Kernel better 1.2.2014, FOSDEM’14 3 / 20

  4. Obtain the ID lsusb lspci -nn . Note . . Existing entry does not mean existing driver and vice versa. Wolfram Sang (wsa@the-dreams.de) Making the Linux Kernel better 1.2.2014, FOSDEM’14 4 / 20

  5. Submit the ID . This is crowdsourcing! . . http://www.linux-usb.org/usb-ids.html http://pciids.sourceforge.net/ Easily done, yet really useful for developers. Wolfram Sang (wsa@the-dreams.de) Making the Linux Kernel better 1.2.2014, FOSDEM’14 5 / 20

  6. Get more info, but check twice (obviously) search for the ID/name check forums, bug trackers, HW databases… watch out, lots of outdated info out there Wolfram Sang (wsa@the-dreams.de) Making the Linux Kernel better 1.2.2014, FOSDEM’14 6 / 20

  7. Check the Windows-Drivers WINE 1.2.2014, FOSDEM’14 Making the Linux Kernel better Wolfram Sang (wsa@the-dreams.de) ~/.wine/drive_c/windows/profiles/<user>/Temp ~/.wine/drive_c/windows/inf Look here then: unshield, cabextract . unzip To obtain it, you might need: Text files describing the driver to be installed. . . INF-Files 7 / 20

  8. Check the Windows-Drivers II If the driver is generic, it will usually contain multiple IDs the driver will be responsible for name of the chipset used internally some other relevant info Wolfram Sang (wsa@the-dreams.de) Making the Linux Kernel better 1.2.2014, FOSDEM’14 8 / 20

  9. Example (another cam) %USB\VID_0AC8&PID_0302.DeviceDesc%= …USB\VID_03F0&PID_1B07 Wolfram Sang (wsa@the-dreams.de) Making the Linux Kernel better 1.2.2014, FOSDEM’14 9 / 20

  10. Example (this cam) …USB\VID_0c45&PID_624c ; SN9C201 + MI1320 … …USB\VID_0458&PID_7045 ; SN9C201 + MI1320 for KYE Look 1320 V2 . Find the corresponding driver . . Use the Linux Kernel Driver Database. Search for the new ID together with the term lkddb . Wolfram Sang (wsa@the-dreams.de) Making the Linux Kernel better 1.2.2014, FOSDEM’14 10 / 20

  11. Tweak the driver $ su # modprobe gspca_sn9c20x # cd /sys/bus/usb/drivers/gspca_sn9c20x/ 1 So useful, yet so unknown. Available for USB, PCI/Cardbus, and PCMCIA Wolfram Sang (wsa@the-dreams.de) Making the Linux Kernel better 1.2.2014, FOSDEM’14 11 / 20 # echo 0458 7045 > new_id 1

  12. Showtime! Let’s try that! Wolfram Sang (wsa@the-dreams.de) Making the Linux Kernel better 1.2.2014, FOSDEM’14 12 / 20

  13. Data is missing generic drivers often need parameter e.g. sensor type, bus addresses, various flags wrong driver data did neither kill computer nor camera :) up to 3.13, driver specific data couldn’t be passed 2 since 3.14, it is possible to pass a reference id 2 for USB, that is Wolfram Sang (wsa@the-dreams.de) Making the Linux Kernel better 1.2.2014, FOSDEM’14 13 / 20

  14. Trying again # echo 0458 7045 > remove_id Wolfram Sang (wsa@the-dreams.de) Making the Linux Kernel better 1.2.2014, FOSDEM’14 14 / 20 # echo 0458 7045 0 0c45 624c > new_id

  15. Showtime again! Let’s try that! Wolfram Sang (wsa@the-dreams.de) Making the Linux Kernel better 1.2.2014, FOSDEM’14 15 / 20

  16. Write a mail Hello, I have $camera and could get it to run with Linux 3.14 by echoing its usb id ’0458 7045’ and the reference id ’0c45 624c’ to the new_id-file of $driver 3 . I am not familiar with creating patches, so I’d be happy if someone could pick this up. Regards, 3 maybe copy the echo line from above Wolfram Sang (wsa@the-dreams.de) Making the Linux Kernel better 1.2.2014, FOSDEM’14 16 / 20

  17. Whom to send/CC it to? check modinfo <module_name> check the head of the source file LKDDB has a link if sources not present scripts/get_maintainer.pl -f <src_file> if kernel sources present when in doubt: linux-kernel@vger.kernel.org (LKML) and me, of course: wsa@the-dreams.de Wolfram Sang (wsa@the-dreams.de) Making the Linux Kernel better 1.2.2014, FOSDEM’14 17 / 20

  18. The gain cam works for you cam will work for all others you should get credit when support is added: Reported-by: Your name <your_name@provider.org> Wolfram Sang (wsa@the-dreams.de) Making the Linux Kernel better 1.2.2014, FOSDEM’14 18 / 20

  19. If you are still interested… . 1.2.2014, FOSDEM’14 Making the Linux Kernel better Wolfram Sang (wsa@the-dreams.de) maybe add V4L control for autoexposure LED doesn’t seem to work . If you like hacking... . . Read: Documentation/SubmittingPatches Read: Documentation/development-process/* . . Next step: Create a patch 19 / 20

  20. The End . . Thank you for your attention! . Questions? Comments? . . right now anytime at this conference wsa@the-dreams.de Wolfram Sang (wsa@the-dreams.de) Making the Linux Kernel better 1.2.2014, FOSDEM’14 20 / 20

Recommend


More recommend