Code that was not upstream but useful to Ubuntu users has been carried in the ubuntu modules. However, now that staging exists, we should make every effort to remove code from there.

Release Note

(Only if there really will be drivers removed) Some drivers have been removed as they where no longer maintained upstream.


All drivers in the ubuntu directory are not automatically synced with the kernel. This causes breakage and requires the ubuntu kernel team to either sync manually with a more recent version or modify that code to work again. Code there will also be much less reviewed and worked on compared to the rest of the kernel. Since the linux kernel now carries a staging tree which carries non-mature code in order to get it better tested and/or worked on, we should try to get all of our drivers in ubuntu moved over to staging. The purpose of this work is to review all of the ubuntu/ drivers and push those that make sense up to staging/ or directly to mainline. The remainder should be updated.

User stories

  • Albert uses iscsitarget on Hardy. After upgrading to Intrepid it was broken as it was synced to some version that missed important fixes.
  • Bob used the prism2_usb module in Intrepid. It was usually not touched much often. Now the module is in the staging tree and get automatically maintained from upsream.


We would have to assess and decide what to do with the following drivers currently in the karmic ubuntu directory:

  • aufs (rtg, updated to aufs2, COMPLETE)
    • This is intended to be replaced by union-mount for the karmic cycle.
    • If that is successfull, then drop it.
  • compcache (used by dubuntu, xubuntu livecds(?) for lowmem installs) (manjo, updated to 0.5.3, COMPLETE)
    • Try to get this upstreamed directly (not to staging)
  • dm-loop (rtg, dropped, COMPLETE)
    • Was used by WUBI but is not any more.
    • As there seem to be no users, drop it.
  • dm-raid4-5 (manjo, updated to 2009.04.24, COMPLETE)
    • This works and is used. Keep it as long as it is not upstream
    • Maintained by redhat (as the device-mapper mainter is). Chances to change this are not high.
  • drbd (apw, now compiles, COMPLETE)
    • used by the community for server stuff
    • Looks like going upstream. Watch and drop if there.
  • gfs (rtg, dropped, COMPLETE)
    • Has no apparent users and is also replaced by gfs2.
    • Disable it for Karmic to see whether someone misses it.
  • iscsitarget (apw, updated to svn r214, COMPLETE)
    • sourceforge projects, not very active
    • not in main (userspace wise)
    • staging would be a good option here perhaps?
    • expect some feedback from server team on this
  • lenovo-sl-laptop (ikepanhc, UPDATE, COMPLETE)
    • ACPI driver for certain Lenovo laptops which are not supported by the thinkpad-acpi driver
    • Supports hotkeys, fan, temprature
    • Evaluate whether a merge with thinkpad-acpi is possible.
    • Keep module while there is no alternative.
    • Got into contact with original author of patch and working together to get it improved and accepted
    • While not accepted add improvements directly to the external module
    • The driver is now re-enabled in Karmic. There is on more change pending (as it is discussed an reviewed on the acpi mailing list) but for the review part it can be considered as done.
  • ndiswrapper (apw, updated to v1.55, COMPLETE)
    • still in use
    • needs update/refresh
  • appleir (Apple USB infrared receiver, DROP, COMPLETE)
    • Discussion link

    • According to maintainers post, not needed as supported by usbhid
  • Hardware specific rfkill drivers (KEEP (as is), COMPLETE)
    • av5100 (Averatec 5100P), pbe5 (Packard Bell EasyNote E5) and fsam7400 (Fujitsu Siemens Amilo M 7400)

    • all rfkill patches should get upstream
    • Either to staging quickly or need to get reworked for the new rfkill framework.
    • Notes:

      • No rfkill framework being used, so there is more time to investigate
      • (Amilo M 7400), the page also mentions a userspace program.

      • (the other two?) No update for a while

      • Likely the drivers need to get at least reworked a bit and checked for provenance
      • Looked at the drivers and as they are very hw specific (without the hw being present) and not integrated in any way with anything upstream, it seems to make sense to keep them just as is until something breaks them.
  • lmpcm_usb (Logitech MediaPlay cordless mouse driver)(DROP if no complain)

    • needs refresh
  • snd-bt-sco (Bluetooth SCI sound driver) (manjo, dropped, COMPLETE)
    • not used/required -- This Bluetooth SCI sound driver is currently disabled and therefore not in use. The maintainer indicates that this functionality is now provided by alternative means and therefore the code is obsolete.
    • drop
  • thinkpad_ec (access driver for the Thinkpad EC)(DROP due to legal problems, COMPLETE)
  • tp_smapi (enhanced battery control for Thinkpads)(DROP due to legal problems, COMPLETE)
  • ov511 (usb camera)(DROP if no complain)
    • RESEARCH: is this covered by the video framwork already??
  • acx (wireless driver) (rtg, dropped, COMPLETE)
    • not used anymore -- DISABLE/DROP
      • apw: reviewed the driver and it seems to have several unique ids, sent request to elucidate the removal reasons
  • LIRC (superm1, updated, COMPLETE)
  • TLSUP (apw, disabled, TO DROP, COMPLETE)
    • we disabled this driver in favour of toshiba_acpi + a patch in Jaunty, returning it to the same as Intrepid due to regressions. No longer needeed. Remove.

Test/Demo Plan

If drivers are only moved from ubuntu to staging, we only need to verify they are still build and included in the package. Replaced drivers need a specific plan, depending on the driver.

Unresolved issues

  • If a driver is maintained somewhere else and the maintainer(s) do not want to see the driver included upstream, would DMKS be a plan B?

BoF agenda and discussion

Use this section to take notes during the BoF; if you keep it in the approved spec, use it for summarising what was discussed and note any options that were rejected.


specs/KernelKarmicReviewOfNonUpstreamedCode (last edited 2009-09-30 12:26:11 by p5B2E4121)