Here are the pending networking bits. There was going to be the addition of the ath9k wireless driver but there was some fallout that is being worked on right now (linux/list.h changes needed lkml review, ath9k driver triggered some gcc aborts, all kinds of fun stuff :-) so hopefully it will make it in the next pass. I tried to wait an extra day for it to be resolved, but that was optimistic. Highlights: 1) Intel driver guys triggered an OOPS when setting MTU during a busy transmit stream, which turned out to be a qdisc locking error. Fix the bug, and in the next commit add some assertions to qdisc_root_lock() to make sure it is only used in contexts where it is safe (basically, it can only be used when RTNL is held) 2) Neighbour table procfs output can miss entries, fix from Chris Larson. 3) When traffic classifier actions in the packet scheduler return certain status values, this can end up corrupting root level qdisc queue lengths and cause other weirdness. Based upon some collaboration between Patrick McHardy, Jarek Poplawski, and myself Jarek composed a patch which uses flag bits (which get masked out before anything outside the qdisc layer can see them) to indicate exactly which actions should be performed on qdiscs leading up to the root. 4) Lennert Buytenhek did some really nice analysis on a network device that cannot do TSO offloading in hardware. He checked out what happens if you enable the software TSO mechanism fallback we have in the kernel, and it improves CPU utilization tremendously. It is safe to do this as long as the device in question can support scatter-gather. Herbert and I are discussing a way to do this even more efficiently with some help from the device (currently the code has to allocate extra sk_buff objects as we split up the TSO frame, and then do a bunch of extra page ref counting, when all we need is some headers and some way to say where the data ...
Talking about wireless driver updates - has anybody looked at the RaLink wireless driver? It's in the newer EeePC's (901 and 1000), and it actually has a driver from the company which the comments make clear is GPLv2 too, no apparent oddness or anything: http://www.ralinktech.com.tw/data/drivers/2008_0708_RT2860_Linux_STA_v1.7.0.0.tar.bz2 which admittedly apparently has some trivial problems (with a trivial patch as seen at http://fedoraforum.org/forum/showthread.php?t=195429 I'd love to have that one working, since I have the hardware, and it's actually reasonable (much more so than the original EeePC, in fact). What channels should I go through? Is anybody working on integrating it already? (Ivo van Doorn added to Cc, since he seems the go-to guy for the rt2x00 driver in the tree, and may have some input). Linus --
I looked at the driver and got it working. However my 901 seems to have an issue with the antennas. I can do scans, but associating with an access point or even thinking about transmit keeps failing. Even with external antennas this still doesn't work. So either my EeePC is broken or it needs some ACPI magic to enable it. Personally I think mine is broken since the PCIe hotplug stuff works for the wireless card and that seems to be their way of doing the rfkill. The driver itself is painful. It is full of ifdefs and some crazy build magic. The integrated (to some degree optional) WPA code is pretty ugly. It has also a full set of iwpriv commands to do all the settings etc. :( Regards Marcel --
Yeah, the rfkill literally makes the chip go away from the PCI lists, it seems. But your problems can certainly be somehow driver-related, I haven't actually _tested_ that thing at all, I got the machine just as the Well, it's also trying to support both 2.4.x and 2.6 etc. Yeah, that is horrid. At the same time, I can't say that the "rewrite it entirely" approach of the previous-gen cards has worked very well either, since that seems to have just perpetuated the problems. It would be great to try to educate them, but I'm not finding even an email address in the sources. Oh well. I can't really complain, since just the fact that they bothered to even make sources available still makes them pretty responsible people, even if the sources are pretty dang ugly. All the capitalization etc makes me think they are all old DOS and Windows programmers. UCHAR and USHORT indeed, along with CamelCase functions. I dunno. Linus --
I've send a mail to Ralink with a request if they could step away from the "port the windows driver to linux" idea and get the Linux driver "kernel-ready" early on. That won't solve the problem now, but hopefully it does mean the drivers for Well it basically is the Windows driver ported to Linux. ;) Ivo --
The Ralink guys are being educated and AFAICT they are interested in better participation. Time will tell, of course. In the meantime as Ivo indicated he is "on the case" -- I think we will see something before too long. John -- John W. Linville linville@tuxdriver.com --
For the interested, the rt2800pci and rt2800usb code which I am working on can be found in the experimental branch of my repository: http://git.kernel.org/?p=linux/kernel/git/ivd/rt2x00.git;a=shortlog;h=experimental Because the code is incomplete it cannot be tested, but it gives at least an idea on what is already done. ;) Ivo --
Like the earlier rt2x00 drivers I am rewriting the driver as released by Ralink and have put it in the rt2x00lib/mac80211 framework. Most of the code is currently done, and the last part should be done this week. After that it is a matter of testing and comparing register values with the Ralink driver for the last tweaks. I doubt the driver will be ready/stable for 2.6.28, but it should be ready for 2.6.29. Ivo --
Hi Ivo, I'm now a EeePc 901 owner. I'd also like to have wireless working on this machine. I'm available for any test you might want to undertake so, do not -- Regards, Rui Santos --
EeePC is working, the patch series i submitted adds support for RF2425 chip which is included on EeePCs as far as i know (i have tested it on an EeePC 900 surf, i think EeePC 901 has the same card) ;-) We have some performance issues with ath5k but we are working on it you can try and lock on b rates for better performance (we miss some RF calibration stuff and CCK rates seem to perform better). Happy wardriving ;-) -- GPG ID: 0xD21DB2DB As you read this post global entropy rises. Have Fun ;-) Nick --
I think the EeePC 900 has a ath5k chip, and the 901/1000 has some totally different RaLink chip afaik. I think the design change came when moving from Celeron to Atom. Linus --
Hmm i missed that part, sorry for the spam... 01:00.0 Network controller: RaLink Unknown device 0781 -- GPG ID: 0xD21DB2DB As you read this post global entropy rises. Have Fun ;-) Nick --
