The fate of Think Penguin and Trisquel depends on DNS and/or jxself

15 respuestas [Último envío]
t3g
t3g
Desconectado/a
se unió: 05/15/2011

DNS and jxself are interesting people in the scope of the free software world. Both are extremely talented and offer the most recent Linux Libre kernel for Trisquel and other libre distros. Even if DNS didn't touch a kernel again, his work on maintaining the free software in his PPAs is excellent. So now that we had our fair share of ego stroking, here is my problem.

Both of them don't know how to comprimise. Both are duplicating each other's work by offering the EXACT SAME Linux Libre kernel in their own respective repositories. Its confusing and really doesn't benefit Linux Libre in the long run in where it really is needed in the Ubuntu ecosystem.

A little while back I sent a message to our dynamic duo to consider taking over Ruben's work in maintaining the Trisquel kernel. Pretty much take the Ubuntu versions, de-blob them, convert into Linux Libre, and offer in the Trisquel repos. I understand this would be more work for either one of them, but it would help lessen the load for Ruben in getting his releases out.

Another issue that neither of them wanted to agree on is the deblobbing of the kernel that matches the most recent one for Ubuntu. Both insist that having the most recent Linux kernel is important, but there are plenty of posts on these forums about Trisquel users having things break by using the most bleeding edge kernel offered by DNS and/or jxself.

FOCUSING ON THE EXACT SAME KERNEL VERSIONS AS UBUNTU BRINGS STABILITY

With all of this to chew on, Chris over at Think Penguin, is nearing the final stages of getting a true libre 802.11n wireless chipset out in the market. So open that RMS himself can plug one in and have the peace of mind that both the driver and firmware are free software. REALLY EXCITING!!! READ MORE ABOUT IT HERE: https://trisquel.info/en/forum/exciting-news-new-usb-n-adapters-are-here-sort

There is one snag though.... the driver is offered in the 3.5 kernel and above and when the final firmware is released, it will need that driver. The kernel version with Ubuntu 12.04 and Trisquel 6 is lower than 3.5 and may not work outside of the box. Chris needs this to work to increase adoption of libre wireless chipsets and for Trisquel 6, a LTS distro supported for 4 more years, to have it from the start.

How do we fix this? We need to also offer the backported Quantal kernel from http://packages.ubuntu.com/search?suite=precise&searchon=names&keywords=lts-quantal maintained in the Trisquel repos as well. DNS or jxself can take the source code, de-blob and convert to Linux Libre, and have the backported kernel as an option.

And guess what... Chris' new wireless devices will be supported throughout the lifespan of Trisquel 6 by adding the backported kernel.

I'm dead serious about this guys. Someone needs to convince DNS and or jxself to get these backported kernels into the Trisquel repos ASAP so Chris and his team can test and have them work once 6 is released.

jxself
Desconectado/a
se unió: 09/13/2010

It's probably a bit much to say that the fate of this entire distribution and of the ThinkPenguin company lies with DNS and myself. The ath9k_htc driver has been included with the kernel called Linux since version 2.6.35. That means 5.0, 5.5, and 6.0 all have a new enough kernel.

Will this freed firmware require some newer version? I don't know. As far as I know, no one outside of Qualcomm Atheros and those few people working under NDA have even seen the source code yet so let's hold off on any speculation until it's actually out in the wild, okay?

But no matter what please be assured that, once the firmware has been properly freed and the source code made available, people *will* have ways to use those devices.

t3g
t3g
Desconectado/a
se unió: 05/15/2011

The N wireless dongle that he sent me did NOT work out of the box in any Trisquel or Ubuntu 12.04's stable kernels. It wasn't until I upgraded to Ubuntu's 3.5 backport kernel that I was able to plug it in with no problem.

I do understand that clever hackers and PPA junkies will find a way to get that kernel installed either way. I'm thinking of broader adoption and ease of use to help a distro (Trisquel 6) that is about 1 year late in its release.

Btw, in the https://www.youtube.com/watch?v=AQvOIExkCaw video where they talk about Ubuntu maybe moving to a rolling release, they also mention that when the 12.04.2 ISO is released at the end of this month, it will come with the backported 3.5 Quantal kernel installed and running by default.

Now you kinda see more of a need to have a libre version of the backported Quantal kernel for Trisquel 6. It gives more hardware and performance improvements and Canonical themselves are moving it to their default kernel.

Chris

I am a member!

Desconectado/a
se unió: 04/23/2011

You have me wondering now. I'm testing this as I write this.

Facts (just verified):

Ubuntu 12.04 contains the driver + firmware and the adapter works with it out of the box

Trisquel 6 contains at least a partial driver although not the firmware.

--

Here is where things get confusing... it could be I'm just missing something or the deblob script was changed since I tested the ar9170 firmware on Trisquel 4/4.5.

I was not able to quickly insert the non-free firmware (http://mirrors.us.kernel.org/ubuntu//pool/main/l/linux-firmware/linux-firmware_1.79_all.deb) on Trisquel 6. This was true even after I removed conflicting packages (firmware-carl9170, atheros-firmware). It installed fine after removing these packages although I got the following errors from dmesg still:

548.610960] usb 1-1.4: USB disconnect, device number 6
[ 550.086177] usb 1-1.4: new high-speed USB device number 9 using ehci_hcd
[ 550.197041] 1-1.4: Missing Free firmware
[ 550.200668] usb 1-1.4: ath9k_htc: Firmware - /*(DEBLOBBED)*/ not found
[ 550.200679] ath9k_htc: probe of 1-1.4:1.0 failed with error -22

I looked a little further into it and here is what I found:

# This script, suited for the kernel version named below, in kver,
# attempts to remove only non-Free Software bits, without removing
# Free Software that happens to be in the same file.

# Drivers that currently require non-Free firmware are retained, but
# firmware included in GPLed sources is replaced with /*(DEBLOBBED)*/
# if the deblob-check script, that knows how to do this, is present.
# -lxoliva

http://www.fsfla.org/svn/fsfla/software//linux-libre/scripts/deblob-3.2

That seems to suggest it should work, maybe. Although it doesn't. It is as if the script removed some piece of the driver that loads the firmware. Not sure why as this would prevent the loading of free firmware should it be released. However it was non-free and still is for the moment so that could explain that. Although I'd have assumed given the driver is free that this might mean the loading part was left in too.

Anyway. Further down this is what is in the deblob script:

announce ATH9K_HTC - "Atheros HTC based wireless cards support"
reject_firmware drivers/net/wireless/ath/ath9k/hif_usb.c
clean_blob drivers/net/wireless/ath/ath9k/hif_usb.c
clean_kconfig drivers/net/wireless/ath/ath9k/Kconfig 'ATH9K_HTC'
clean_mk CONFIG_ATH9K_HTC drivers/net/wireless/ath/ath9k/Makefile

I'll probably talk to the linux-libre script maintainer. I think he might know. I'm not that familiar with the code (or maybe I should say at all). It has been a while since I've looked at code of any significance.

jxself
Desconectado/a
se unió: 09/13/2010

> It is as if the script removed some piece of the driver that loads the
> firmware

Yes, that's exactly correct. You'd probably need to talk to Alexandre Olivia to be sure but I think that the motivation is that the firmware is software, and proprietary software at that, and in the absence of a free firmware to use, what you have is a function *the sole purpose of which* is to load and run proprietary software. When no free firmware exists for a given kernel module (which is the case for most of them) it serves no other purpose. When a free firmware exists this modification to the driver isn't done (reference carl9170 for an example) and so it'll load it just fine.

Another motivation is that it prevents these requests from being logged to syslog. That could be viewed as a form of somehow "recommending" that the user install said proprietary software, if their system keeps pointing out that it needs it but as I said you'd probably need to talk to Alexandre Olivia to be sure of his motivations.

Chris

I am a member!

Desconectado/a
se unió: 04/23/2011

Yea-

I did. That is what it sounded like to me based on what he said.

Chris

I am a member!

Desconectado/a
se unió: 04/23/2011

jxself:
:) I'd agree with you on this. Worded differently though I would say it is important that Trisquel be easy to use for everyone. I don't think that requires the latest kernel provided there are options for people (hardware with chipsets that are supported by older kernels for various types of devices, usb, pcie, pci, etc).

I also wouldn't say your repository is of little value. It makes free software friendly hardware work without much difficulty. Where I see it as most critical is laptops/desktops. Mainly because the hardware does change frequently enough to be a problem. Wifi adapters/pcie cards/etc not so much. It is easier to stock 3 years of USB wifi adapters. It is much harder to stock 3 years of printers, motherboards, laptops, etc.

I am a fan of setting up a backports repository and subscribing users to it by default for critical pieces in order to increase the hardware supported. I think this could work well without causing major issues. At least provided it was properly done. The majority of issues I think that would be a problem here are not a problem for free software users. The proprietary code breaks easily. The free code not so much (don't take this as it never happens though).

There are some other pieces that are a problem once you upgrade to your kernel right now for some users (I'm thinking virtualbox). This is what t3g is probably talking about. This can be fixed. Other than this I don't think I've seen any real problems. I think hplip would be another important piece to backport and abrowser. There might be a few others (something to fix the video support for instance, but we seem to be lacking this now anyway or at least it isn't updated/total solution yet?).

I think there are other solutions to the video/entertainment problem. However there are questions I'd be wanting to ask a lawyer before touching or even discussing on an open forum. Setting up an entertainment site for instance that could help promote funding of films in exchange for streaming rights, liberal licensing of some sort, etc. (I'm trying to say something more compatible with free software). Now that might not be a total solution- a total solution might be more of a legal gray area.

jxself
Desconectado/a
se unió: 09/13/2010

As far as I know, no one outside of Qualcomm Atheros and those few people working under NDA have even *seen* the source code for this yet so it's a little premature at this time.

Don't worry, j3g, as I said: Once the firmware has been properly freed and the source code made available, people *will* have ways to use those devices. Just sit tight, okay?

Chris

I am a member!

Desconectado/a
se unió: 04/23/2011

I think I might have tested the linux-libre kernel with the non-free firmware and had problems. However I doubt that the code was removed or disabled to prevent the loading of the firmware. It was probably something I was doing like testing the firmware with the 5.5 release instead of with the linux-libre kernel from your repository. I believe it should work with the most recent linux-libre kernel. And since that is probably true, and since it most likely won't be a significant change to the firmware code, I believe it will be a drop-in replacement for the non-free binary currently available.

jxself
Desconectado/a
se unió: 09/13/2010

> However I doubt that the code was removed or disabled to prevent the
> loading of the firmware.

I believe it was, based on the deblob log [0] where it mentions
"disabled non-Free firmware-loading machinery."

ATH9K_HTC - Atheros HTC based wireless cards support
drivers/net/wireless/ath/ath9k/hif_usb.c: disabled non-Free firmware-loading machinery
drivers/net/wireless/ath/ath9k/hif_usb.c: removed blobs

However, it would be trivial to re-enable that and push out a kernel update.
Additionally, the freed firmware could also be packaged up similar to the openfwwf
package.

So as I've been saying, once the firmware has been properly freed and the source code made available, people *will* have ways to use those devices.

[0] http://linux-libre.fsfla.org/pub/linux-libre/releases/3.7.4-gnu/linux-libre-3.7.4-gnu.log

Chris

I am a member!

Desconectado/a
se unió: 04/23/2011

This is kind of weird.

>disabled non-Free firmware-loading machinery

While there isn't a free version of the firmware right now I wouldn't think you would want to disable the loading of firmware. It isn't (I'm assuming) disabling the loading of only non-free firmware. Rather it is disabling the loading of ANY firmware. At least I'd imagine that is how this is implemented. Sort of pointless too given the distribution isn't including the non-free firmware so it won't load anyway.

This isn't to say it was wrong to disable this loading bit. I completely understand why it was done. Some people will go to extraordinary lengths and not understand what it is they are doing to get things working. Quite honestly this is probably most people with a device that doesn't work.

Chris

I am a member!

Desconectado/a
se unió: 04/23/2011

t3g: We did a bit of testing in-house and I think Ubuntu 12.04 LTS worked out of the box with the non-free firmware. Trisquel 5.5 is based on Ubuntu 11.10 though and the included kernel version does not include the driver to load the firmware. Thus you needed to install a kernel + firmware as opposed to just the firmware. If you installed Trisquel 6 (not yet released) I think you should be able to install the non-free firmware and the adapter will work.

I also want to point out that I believe the code being released is identical to the non-free firmware. It's not even really derived from it. It's just being "cleaned up" a bit. I'm not entirely sure what that means. It could be more than I'm thinking. I never bothered to ask. I'm not the one working on this portion. There are other developers outside of atheros which have joined in here.

We have the new USB adapters in and if anybody is interested in testing / developing / contributing let me know. There were some NDAs signed for the code that was released to third party developers already so it can't be cleaned up openly. However once that is done contributions, improvements, etc. will be possible.

The worst case scenario is Trisquel users will have to add DNS and/or jxself's kernels, then install the firmware, before it will work.

However it won't be the end of the world if this is too complicated for some Trisquel users. The supported versions of each adapter are clearly listed and we stock older hardware in order to support LTS releases for the length of LTS cycle (3 years or so from the date of release). So there will always be available a USB adapter for older Trisquel/Ubuntu releases. At least so long as the releases are officially supported.

Now it is true that we could run out of the adapters that are supporting the LTS release. However this is unlikely. If the stocks get terribly low, and we can't get more of the adapter (likely to happen), and the demand remains high we will simply increase the price of the USB G adapter. Right now I think we can still get USB G adapters with the RTL8187B chipset. Depending on what happens with the new USB N adapters (how quickly they become supported by Trisquel) we will simply acquire significant stocks to hold us over 3 years (or however many years are needed). Increasing the price of the G adapter will reduce the demand from users who don't actually need this version too. Once the prices are adjusted to account for availability/demand this should work itself out. We only just ran out of the USB N adapters which do not have the external antenna. This was within the past few weeks. We absolutely can't get more. However we do have the USB N adapter /w external antennas. We can probably get more of this particular adapter. I don't see that happening though. Mainly because of the cost to acquire more being significantly high and the demand will become low once the new USB N adapter(s) are available to replace it.

t3g
t3g
Desconectado/a
se unió: 05/15/2011

Thanks for the responses. If the Atheros N devices can work out of the box with Trisquel 6 using the standard and non backported libre kernels, then that would be excellent. It is a good thing Chris looked into the Linux Libre deblob script and hopefully his findings and suggestions regarding this Atheros chipset are taken into consideration for newer versions.

I guess the biggest hurdle is getting 6 out the door and I still hope in the future that the realtime and backported Quantal kernels are added to the 6 repos.

Chris

I am a member!

Desconectado/a
se unió: 04/23/2011

I talked to Alexandre Oliva who maintains the linux-libre kernel/script and learned a few things.

1. Apparently Trisquel/Rubén maintain a separate deblob script

2. As jxself pointed out too it'll be easy to release an update to enable the loading machinery in the kernel after Trisquel 6 is released

I still haven't talked to Rubén although it doesn't really matter as I'm still waiting for an update on the clean up status. I actually don't know how much longer it might take. It is being done by volunteers so it is a bit difficult to press the issue :) (not that we wouldn't mind contributing a bit of money to the effort- I did bring this up originally- amongst providing hardware for testing, etc).

t3g
t3g
Desconectado/a
se unió: 05/15/2011

Hopefully in the next Trisquel meeting, the issue regarding the kernels will be brought up and discussed with Ruben. That is if he actually shows up this time.

Chris

I am a member!

Desconectado/a
se unió: 04/23/2011

:) We need more clarification on the meeting times/days.

Actually. This should be the first thing on the agenda.

If it is every week at a particular time on a particular day fine. Lets document it though. Then we need to remind people. Post to the mailing list/create a new forum topic.

The way it is now we haven't committed to days/times so people show up and then there is no meeting. I don't think he skipped a meeting. It just wasn't clear there was a meeting.