Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Debian: Pre-install wider array of NIC/Wifi drivers #5123

Closed
tasket opened this issue Jun 26, 2019 · 13 comments
Closed

Debian: Pre-install wider array of NIC/Wifi drivers #5123

tasket opened this issue Jun 26, 2019 · 13 comments
Labels
C: Debian/Ubuntu help wanted This issue will probably not get done in a timely fashion without help from community contributors. P: default Priority: default. Default priority for new issues, to be replaced given sufficient information. T: enhancement Type: enhancement. A new feature that does not yet exist or improvement of existing functionality.

Comments

@tasket
Copy link

tasket commented Jun 26, 2019

Qubes OS version
R4.0.1
R4.0.2

Affected component(s) or functionality
debian-9 templates
debian-10 templates

Brief summary
Many users cannot easily utilize a full set of Debian VMs after Qubes installation due to missing NIC firmware. Abortive attempts to switch sys-net and sys-usb to Debian templates are made before giving up or having to troubleshoot the situation.

For example, the firmware-iwlwifi package is required for use with a large proportion of PC systems – which have Intel NICs – but its omission from the initial template installation means that a high percentage of users (probably most) trying to control their hardware with Debian will experience a loss of network access.

Qubes should accommodate the users' initial intention to use Debian templates for basic tasks by having all or most NIC driver packages pre-installed.

Related, non-duplicate issues
A list of links to other bug reports, feature requests, or tasks in the qubes-issues tracker (or "none" if you didn't find any). Do not describe any other unreported bugs, features, or tasks here.

#1919 (comment)

@tasket tasket added P: default Priority: default. Default priority for new issues, to be replaced given sufficient information. T: bug Type: bug report. A problem or defect resulting in unintended behavior in something that exists. labels Jun 26, 2019
@marmarek
Copy link
Member

Feel free to open a PR to qubes-builder-debian, likely this file.

@andrewdavidwong andrewdavidwong added C: Debian/Ubuntu T: enhancement Type: enhancement. A new feature that does not yet exist or improvement of existing functionality. and removed T: bug Type: bug report. A problem or defect resulting in unintended behavior in something that exists. labels Jun 27, 2019
@andrewdavidwong andrewdavidwong added this to the Release 4.0 updates milestone Jun 27, 2019
@andrewdavidwong andrewdavidwong added the help wanted This issue will probably not get done in a timely fashion without help from community contributors. label Jun 27, 2019
@tasket
Copy link
Author

tasket commented Jun 27, 2019

@unman
Do you have a preference or opinion about adding these packages to the default Debian configuration?

firmware-ath9k-htc
firmware-atheros
firmware-b43-installer
firmware-brcm80211
firmware-intelwimax
firmware-iwlwifi
firmware-ralink
firmware-realtek

I picked these as obvious choices to improve Debian templates' initial NIC support.

@unman
Copy link
Member

unman commented Jul 1, 2019

For my live systems I use these:

atmel-firmware 
firmware-atheros 
firmware-brcm80211 
firmware-ipw2x00 
firmware-iwlwifi 
firmware-misc-nonfree 
firmware-realtek 
firmware-zd1211

We could do union or intersection.

I suspect this is a variant of the note on default preferences.

TBH it doesn't matter either way - since a system ships with fedora defaults, a user has to decide to switch to Debian templates, and has the opportunity to install whatever firmware is needed using the default set-up. This is an improvement on a stock Debian install where none of these are installed, and that option isn't available. (That's why there is a prompt to make the drivers available during installation.)

@tasket
Copy link
Author

tasket commented Jul 8, 2019

As a side OT note:

I didn't know that emacs was included specifically by Qubes. The way its added is problematic because the default file type association for text ends up being emacs instead of the more accessible gedit. Its a UX pitfall in the Debian templates.

@tasket
Copy link
Author

tasket commented Jul 8, 2019

@unman Added a union of the two lists and posted a PR here.

@tasket
Copy link
Author

tasket commented Jul 8, 2019

I should add: Some of these packages have a license acceptance prompt. Don't know if that's a problem for the builder scripts.

@adrelanos
Copy link
Member

This will break the build since some firmware will ask license related debconf questions which make the build interactive (requiring keyboard input). Not even DEBIAN_FRONTEND="noninteractive" or apt-get-noninteractive can beat that. I've run into this issue before and here is the solution.

## https://git-tails.immerda.ch/tails/tree/config/chroot_local-preseed/firmware
echo b43-fwcutter b43-fwcutter/cut_firmware boolean true | debconf-set-selections
echo firmware-ipw2x00 firmware-ipw2x00/license/accepted boolean true | debconf-set-selections
echo firmware-iwlwifi firmware-iwlwifi/license/accepted boolean true | debconf-set-selections
echo firmware-ralink firmware-ralink/license/accepted boolean true | debconf-set-selections

@unman
Copy link
Member

unman commented Jul 29, 2019

I think we should offer this as a separate target, rather than incorporate in to standard template.
That way it's still possible to build a "free" debian10 , and keep build options open, allowing e.g.minimal+firmware.
I use this approach and it's fine.
PR on it's way.

We also need to add an alias in configs, so "buster" builds buster+standard+firmware.

@tasket
Copy link
Author

tasket commented Jul 29, 2019

Are the current debian templates really libre? I thought the av codecs, for example, included parts that aren't.

@unman
Copy link
Member

unman commented Aug 1, 2019

Minimal is clean. It's only the standard template that has non-free and it's all firmware - we could consider moving those packages too in to a firmware target.
Of course, neither Qubes nor Debian will be endorsed by FSF

@adrelanos
Copy link
Member

https://github.com/Whonix/anon-meta-packages/blob/master/debian/control

Package: firmware-nonfreedom
Architecture: all
Pre-Depends: whonix-legacy
Depends: ${misc:Depends},
 firmware-amd-graphics,
 firmware-atheros,
 firmware-b43-installer,
 firmware-b43legacy-installer,
 firmware-brcm80211,
 firmware-intel-sound,
 firmware-ipw2x00,
 firmware-iwlwifi,
 firmware-libertas,
 firmware-linux,
 firmware-linux-free,
 firmware-linux-nonfree,
 firmware-misc-nonfree,
 firmware-realtek,
 firmware-ti-connectivity,
 firmware-zd1211,
Description: Recommended packages for hosts with nonfreedom hardware design
 A metapackage, which includes nonfree firmware useful for hosts with
 nonfreedom hardware design.
 .
 These are not useful in Qubes, since this would be up to Qubes.
 .
Safe to remove, if you know what you are doing.

@unman
Copy link
Member

unman commented Oct 20, 2019

@tasket After the merge of QubesOS/qubes-builder-debian#35 this could be closed. The libre issue is separate.

@andrewdavidwong
Copy link
Member

Closing this as resolved. If you believe the issue is not yet resolved, or if anyone is still affected by this issue, please leave a comment, and we'll be happy to reopen this. Thank you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C: Debian/Ubuntu help wanted This issue will probably not get done in a timely fashion without help from community contributors. P: default Priority: default. Default priority for new issues, to be replaced given sufficient information. T: enhancement Type: enhancement. A new feature that does not yet exist or improvement of existing functionality.
Projects
None yet
Development

No branches or pull requests

5 participants