Vincent Panel: Hardware4linux : plus de 1500 systèmes rapportés et notés sur leur compatibilité
Le site www.hardware4linux.info dépasse à présent les 1500 systèmes linux rapportés. Cela commence à faire une bonne petite base d’utilisateurs qui grandit de jour en jour et qui permet de réellement, objectivement comparer le support de ses divers périphériques avec les autres.
Les différents composants du systèmes sont entrés dans la base et l’on peut les noter et les commenter et donc donner des petites astuces du style “mon lecteur de carte SD ne marche pas directement, mais en utilisant X ou Y, il marche”.
N’hésitez donc pas à :
- Rapporter votre système si vous ne l’avez pas déjà fait
- Mettre à jour votre hardware4linux collector si vous avez une version plus ancienne que 0.9.4
- Mettre à jour la configuration que vous avez rapporté si vous y avez effectué un changement. Pour cela, il suffit d’utiliser le même nom pour votre machine que précédemment.
Pour ceux que ça intéresse, voici la configuration de mon laptop.
Il est aussi possible de souscrire au flux RSS des commentaires.
Ah, et un dernier petit mot : essayez de jouer le jeu. Rapporter qu’une fonctionnalité marche parfaitement (note “5″) et indiquer dans les commentaires que ça plante, c’est fausser la base et ça n’aidera personne…
Vincent Panel: On retient son souffle…
…avant le grand saut vers la Mandriva Linux 2008 en fin de semaine.
En effet, il s’est déclaré dans ces derniers jours un certain nombre de bogues (sans doûte du au nombre de testeurs qui a énormément augmenté) et la sortie de la Mandriva 2008 a donc été décalée pour réparer tout cela. Je dois dire que j’étais sceptique la semaine dernière car pas mal de bogues graves avaient été détectés (et certains me concernaient), mais ils sont tous résolus désormais. Il reste encore à peaufiner certaines applications ou certains patchs et la finale devrait donc être prête pour la fin de cette semaine.
Durant cette semaine, l’accent a été mis sur :
- L’assistant de migration transfugdrake qui transfère les paramètres et les documents depuis un utilisateur windows vers un utilisateur linux. Ça marche impec pour moi : fond d’écran, documents, bookmarks : tout y est. Il y a possibilité, aussi de partager ces paramètres entre linux et windows plutôt que de les copier.
- KDE4 qui, même s’il est en version bêta et que certaines applis ne sont même pas alpha, semble fonctionner basiquement. On a même le luxe de pouvoir lancer des applis KDE4 sous KDE3 moyennant la commande “k4″ qui va s’occuper de mettre tous l’environnement en ordre pour l’application KDE4.
- krandrtray qui est une application qui permet d’exploiter les extensions randr 1.2 donc de redimensionner à chaud l’écran (ça existait déjà, mais maintenant, c’est directement géré par Xorg) ainsi que brancher la sortie TV sans redémarrer Xorg.
- dkms, le système de mise à jour des pilotes, a été repensé de manière à ne plus nécessiter les outils de compilation et les sources du noyau. J’ai mis à jour la page à ce propos dans le wiki. Si vous avez toujours voulu tout savoir sur dkms, c’est par ici.
- D’autres applications diverses mais que j’utilisais ont été déboguées : kmobiletools et klipper, par exemple.
Reste quand même quelques bugs marqués “release_critical” qui bloquent la sortie de la 2008 mais certains d’entre eux sont résolus, d’autres sont en cours, d’autres enfin ne sont pas si “release_critical” que ça et risquent de perdre un gallon en passant en priorité “élevée” (et ils seront mentionnés dans l’errata et résolus, bien sûr, après la sortie).
Si vous voulez aider à tester Mandriva et Linux en général, que vous êtes relativement expérimenté, n’hésitez pas à installer Cooker et à rapporter les bogues avant la fin de cette semaine !
En complément de ce billet, j’invite le lecteur à aussi regarder le dernier “Jus de cuisson” qui fait un résumé de la liste de développement de Mandriva (Cooker) pour le mois de Septembre.
C’est la dernière ligne droite pour l’une des distributions les plus appréciées du moment !
Vincent Panel: KillerStartups
Just a very small note about one website I’ve just discovered and one I already knew.
- Want to know the latest web 2.0 websites on the internet ? Go to http://www.killerstartups.com/
- Want to have the latest news about Mandriva ? Go to http://www.wikio.com/search/Mandriva
Olivier Blin: DKMS rebuild quest (and modem tales)
So, we want to have a better dkms support in 2008.0, to make kernel updates happen smoothly regarding external kernel modules (mainly proprietary video drivers), as detailled in #30907.
A part of this long endeavor is to make dkms packages (both source dkms and prebuilt dkms) have kmod(<modname>) rpm Provides, so that other packages, install and configuration tools can request a specific module.
I patched rpm-mandriva-setup some weeks ago to automatically generate these kmod provides (heavily based on Danny's work). But this requires all dkms packages to be resubmitted, since a part of this automatic provides scripts acts on the dkms.conf files, which are part of the dkms source packages.
I used the new mdvsys features to do that:
mdvsys update --message "rebuild for kmod provides" <package list>It mostly worked, but a perl operator priority bug prevented my message argument to be used, and will make me a fool in the changelogs (they read "update to new version").
I (dearly) hate guillomovitch for that.
After some usual build system troubles, I finally got most of the source dkms package rebuilt, only a few don't build, as my (clearly not optimized) scriptlet shows:
$ for p in /RPMS/{main,contrib,non-free}/release/dkms-*; do \ rpm -qp --provides $p | grep -q kmod || rpm -qp --qf '%{SOURCERPM}\n' $p \ | perl -ne '/^(.*)-[^-]+-[^-]+/ and print "$1\n"'; \ done | sort -u | grep -v '^dkms$' cluster opencAt this point, it only means that the packages containing the module source code are fine, and not that the source code inside will build fine...
For example, while testing some 56k modems, I noticed that hsfmodem/hcfpcimodem did not build anymore. An upgrade to the upstream versions was not enough, it fixed some build issues, but not the weirdest one... The kernelcompiler.sh scripts that tried to detect the gcc version what running gcc -v and tried to make it match some pattern. But well, it didn't work very well with french locale :-p (using LC_ALL=C fixed it).
On the next laptop I tried, there was a modem on top of HDA (High Definition Audio) bus, with a Si3054 codec. It does not work with the proprietary slamr modules, and may work with the ALSA snd-hda-intel one. While looking for user reports, I stumbled upon a patch from Claudio: Slmodem: period size 48 not supported. It was worth being committed in the distro, I wonder why Claudio didn't :-/
Still, no luck with this particular modem, we'd need to investigate more.
The scanModem utility (from Linmodems support) proved to be very useful for these tests, it detects a lot of modem chipsets, which helps to find the correct dirver. But unfortunately, its license is unclear, I can't package it in the distro right now.
Anyway, I'm not done with my quest yet (and it's only the "rebuild packages" part of it...). Our source dkms packages have to be rebuilt for each of our kernel packages, so that users can install prebuilt dkms packages, without requiring the whole toolchain to build kernel modules.
To accomplish that, I still need to baby-sit Warly's powerful Iurt (the rebuild bot), and probably fight against the build system some more times /o\
Olivier Blin: Registering as misc device in vboxadd kernel module
I've been recently playing a bit with VirtualBox to debug my One live systems, and got a bit involved in VirtualBox packaging in the meantime. Our Mandriva package was missing the guest additions, so I added them recently (the packages are x11-driver-input-vboxmouse, x11-driver-video-vboxvideo, dkms-vboxadd, dkms-vboxvfs and virtualbox-guest-additions). They basically allow a better integration of mouse and X11 (clipboard) with the host, and to share files more easily, thanks to a vboxvfs module and a vboxfs mount helper.
But the vboxadd kernel module required some integration, since /dev/vboxadd was not created automatically. Upstream has an initscript to create it, but it's quite a weird trick to parse /proc/devices to get the major and create the device "a la main" with mknod.
A better solution is to make the kernel module send an uevent (with kobject_uevent()) when the device is registered in the kernel module, so that udev creates the device node automatically.
This can be done through the device_create() function (from drivers/base/core.c), but it requires a kernel class as argument, and we don't necessarily need to create one for vboxadd.
A simpler solution is to replace the original char device creation, register_chrdev() (from fs/char_dev.c), by using a misc character device. misc_register() (from drivers/char/misc.c) takes care of the character device registration and of sending the uevent to userspace.
#include <linux/miscdevice.h> ... static struct miscdevice vbox_dev = { .minor = MISC_DYNAMIC_MINOR, .name = "vboxadd", .fops = &vbox_fops, }; ... if (vbox_major > 0) { err = register_chrdev(vbox_major, "vboxadd", &vbox_fops); } else { err = misc_register(&vbox_dev); } ... if (vbox_major > 0) { unregister_chrdev(vbox_major, "vboxadd"); } else { misc_deregister(&vbox_dev); }The final touch is to make the device node reachable by end-users, which is made easy since Mandriva uses pam_console. pam_console_apply is called for every device node created by udev, so we just need to add a rule to make vboxadd devices owned by the console user (i.e. the user physically logged on the system).
$ cat /etc/security/console.perms.d/60-vboxadd.perms <vboxadd>=/dev/vboxadd* <console> 0600 <vboxadd> 0600 rootOlivier Blin: Debugging udev ATTRS/ATTR
When multiple display modules matching the same device are loaded at startup by udev coldplug, we can get in a situation where X doesn't start (#32030). This can happen when different versions of nvidia modules (nvidia, , nvidia96xx, nvidia71xx) are installed, which is the case on our live CDs.
To prevent all these modules from being loaded by udev, we can explicitely exclude devices from the display PCI class, like we do for storage controllers:
# modprobe pci devices on cold plug except for: # PCI_BASE_CLASS_STORAGE 0x01 ACTION=="add", SUBSYSTEM=="pci", ENV{STARTUP}=="1", SYSFS{modalias}=="?*", \ ATTRS{class}!="0x01*", \ RUN+="/sbin/modprobe %s{modalias}"But adding another match to exclude the display class (PCI_BASE_CLASS_DISPLAY is 0x03 in /usr/include/pci/header.h) did not always work: ATTRS{class}!="0x03*" fails on PCI-Express devices.
That's because the ATTRS{class}!="value" rule walks every parent devices to check that each of them has a class different from "value", while one could think it would match if only one of them has a different value. Thus, when the tested device has a parent device, like with PCI Express devices, the negative ATTRS check is likely to fail.
So, the solution is to use ATTR{class}!="value", which checks only the current device, without walking the parent tree.
To debug this, I built udev with DEBUG=true, and added a ENV{FOO}=BAR operation in the rule I tested, to know quickly if it mached (in the output of udevmonitor --env).
# udevd --daemon --debug-trace --verbose &>udevd-debug.log # udevcontrol log_priority=debug # udevcontrol env STARTUP=1 # udevmonitor --envThen, testing the rule of my video adapter device is just a matter of writting in the uevent file in sysfs:
$ lspci | grep VGA 01:00.0 VGA compatible controller: ATI Technologies Inc Unknown device 94c3 # echo 1 > /sys/devices/pci0000:00/0000:01:00.0/ueventClaudio Matsuoka: Mesa quiz: spot the bug (with patch)
Following the development of the investigations on the recently reported Mesa problem triggered by Neverball and Metisse, Ademar reports that “the workaround is not effective with at least ATI 9250 video cards, where we now have a crash at a different place”. We set up a system with an ATI Radeon 9250, and, indeed, it still crashes:
Mesa: Mesa 7.0.1 DEBUG build Oct 1 2007 18:52:02 Mesa warning: couldn't open libtxc_dxtn.so, software DXTn compression/ decompression unavailable Program received signal SIGSEGV, Segmentation fault. [Switching to Thread -1218062640 (LWP 17221)] _generic_read_RGBA_span_RGB565_MMX () at x86/read_rgba_span_x86.S:590 590 pushl MASK_565_HA segfault in a push instruction sounds very odd. Read on to see what the differential diagnosis session with Boto and Salem lead us into. And unlike the previous patch, this one resulted in a real fix for a real problem:
Don’t read the patch if you want to find the bug yourself based on the scenario description below.
Permalink | No comments | Filed under bitbrushing, patch, code, en
Vincent Danen: Using FileZilla on Linux
Vincent Danen: Using FileZilla on Linux
Claudio Matsuoka: Neverball: a workaround for Mesa crash
Ademar complained about certain programs such as Neverball and Metisse causing a crash in the X.org GLX code in systems with some Intel and ATI cards, specifically in a call to quadfunc_unfilled_rgba() when glPopMatrix() flushes vertices. After a quick inspection it was clear that the cause was a null pointer dereference in Mesa 7.0.1, so If you’re experiencing a similar problem you may want to try this trivial workaround:
Further information and possibly a better fix available at the original bug report.
Permalink | 2 comments | Filed under shotgundebug, patch, en
Fabrice Facorat: My Daily : what's up doc ?
[EN] 2007-09-18 -> 2007-10-01 :
- Ok, back to life. I've finally managed to recover from my crash disk.
- Write articles for Linux Identity Kit 2008.0. Manage to write articles about : System configuration ( drakconf, draknetcenter + drakroam, security with draksec, tools auth delegation with consolehelper, installing & customizing Compiz Fusion ), File sharing ( NFS, SMB ), virtualization ( VirtualBox, KVM + virt-manager ). Now need to finish articles about the installation and eventually about kde4.
- Reports several bugs concerning virtualization support
- Manage to make drakvirt somewhat work, but blocked by lack of SquashFS support in xen kernel which prevent Mandriva installer to be launched
- Correct another user having put incorrect encryption key in drakroam which leads to non workable wpa_supplicant ( cf bug #33182 & #33620 )
- Find how to assigned an unique ID for each call in asterisk call logs thanks to accountcode entry
- Begin to code remote call with asterisk using Asterisk Manager
Reinout van Schouwen: I’ve been told I look older than I am
Adam Williamson: surreal
I find it a wonderfully surreal experience to spend a morning bug fixing and then sit down on my deck here in Vancouver to read my old college gazette. When I was at college, and on the couple of times since that I’ve been back, it feels perfectly natural to have dinner with people who have more letters after their name than you could fit on a full page of the Times, and to toast the Queen - with absolutely no irony, and a distinct sense that it would be Noticed if one didn’t - at the start of each meal. When you’re several thousand miles away, reading paragraphs such as:
“With the abolition of the office of Lord Chancellor, the role of Visitor has returned to the Crown. However, in anticipation of this change, the Society has been, and continues to be, engaged in a major exercise to revise and update our Statutes, including new arrangements for the appointment of the Visitor. The approach we have adopted provides for layered Statutes, Ordinances and Regulations with the Statutes subject to revision only by recourse to the Privy Council, whilst Ordinances and Regulations might be altered more easily by differently weighted votes of our own College Meeting. There is still much work to be done on the detail before our Governing Body agrees to propose the new Statutes to the University for eventual approval by the Privy Council.”
feels wonderfully bizarre.
I suppose to some (particularly, I expect, Americans) this level of association between a university and the government of the realm seems strange and rather worrying, but I quite like it. I just like the feel of a system that evolved in an utterly different time and which has been preserved by weight of momentum more than anything else. In a strange way, the fact that it is clearly an utterly inappropriate system that would never be designed in the present day makes everyone involved in it act rather impeccably. I suspect there’s rather less *actual* conflict of interest, patronage and so on going on between Oxbridge and the U.K. government than there is between the Ivy League universities and the U.S. government, though it *does* happen.
Eskild Hustvedt: The joys of Netshop.no
I turned in my laptop for repairs this January (under a month after the last repair). The screen was broken. Then they informed me that the motherboard was also borked, due to moisture, so I’d have to pay for the repairing of that. Okay, that’s fair enough I guess. So I told them to go ahead and repair. Months passed, until I finally got ahold of them again in April. They then told me that there had been some kind of mistake somewhere and that they would get right to repairing it and that they would do it for free because of the excessive wait. Fair deal, though I’m getting grumpy waiting for my laptop so long, but NOW it must soon be here, as they’re on it again.
Not so, now they tell me that the spare motherboard they had in stock for the laptop was also broken, so they needed to order new ones. More waiting. Yay. Then suddenly it was vacation, so I couldn’t get ahold of them. Waiting for supplies from Denmark. Right. Well, I need a motherboard for it to work. So I wait.
Now it’s September and I have yet to see any laptop, the technician doesn’t reply to my queries, and the people in phone support are about as much help as talking to my wall. I need that laptop.
So what can I do? I can contact the idiots and probably demand that they send the laptop to me now. But what good will that do, I’ll have a laptop without a working motherboard. So that’s the same as right now, really. Complain? Right, that’s what I’m doing, they don’t seem to care much. So I’m at a loss. Just want my laptop back.
For the record the laptop is a Zepto Znote 6515WD. I believe that’s just a rebranded Compal laptop, though I have no idea which model.
Frederik Himpe: What's new in Mandriva 2008.0
In less than two weeks time, six months after the great Mandriva 2007.1 Spring release, Mandriva 2008.0 will be ready and published. Currently, Release Candidate 2 is out, it's your last chance to test it and make sure everything is working before the final release!
There were great ideas at the start of the development phase, and in in those six months that have passed, Mandriva has always been one of the most active projects on CIA.vc. This gives much hope for lots of improvements, so let's take a look at what can be expected from Mandriva 2008.0.
Update 2 October 2007: The following translations of this article are now available, with thanks to the translators:
- Hebrew (Dotan Kamber).
- Brazilian Portugese (Sérgio Rafael Lemke)
Ga door met lezen van "What's new in Mandriva 2008.0"
Vincent Danen: Getting things done with mutt
Olivier Blin: Auto-mounting LUKS devices
For a few releases, auto-mount of LUKS devices has been broken in Mandriva (bugs #27259 and #30115), because we had the following udev rule as default:
KERNEL=="dm-[0-9]*", OPTIONS="ignore_device"This rule existed because lvm2 setup got broken when udev tried to run vol_id on dm devices (see Let udev play with snapshots thread on linux-lvm ML). This has been fixed ages ago (in lvm2-2.02.13) with the following change: When adding snapshot leave cow LV mapped device active after zeroing (commit).
So, the "ignore dm devices" workaround has been removed from our udev rules, and LUKS devices should now be auto-mounted by default on modern desktops \o/ (GNOME users, enjoy)
Olivier Blin: Avivo driver and r610
This week-end, I decided to buy a new PCI-E video card, with a passive cooling solution, since the default ATI fan of my ASUS EAX550 was really noisy. So, it took my rollers to go rue Montgallet and find a silent one. The first shop tried to sell me the exact same card as silent, but of course, I didn't "bought" it :-p
Most shops only had passive cooling cards from Nvidia, but I preferred to get an ATI one, since they're usually better supported by free-software drivers. Finally, I bought a cheap (55 euros) MSI RX2400PRO card, with a big heat sink, but also with 256MB of memory and a lot of HDTV features that I'll probably never use...
Though, at first boot, harddrake automatically configured the card to use the fbdev driver, which was not a good sign regarding support in free-software drivers /o\
X didn't start with the free radeon driver, and it even failed with ATI's proprietary fglrx driver (8.39.4). Adam's post on cooker reminded me about the avivo driver. It supports r5xx chipsets only, while mine is a r610 HD 2400 chipset (device ID 0x94c3). According to the avivo developpers, it should be possible to make this driver support r6xx cards (daniels post).
This post also mentions how to further debug the driver, using these tools:
- avivotool
- xresprobe (hacked by airlied)
- valgrind (hacked version), (it has to be patched to build with glibc-2.6, for example with a rediffed version of the gentoo patch)
An article on Phoronix (AMD Radeon HD 2000 Series & Linux) showed that it won't be that easy to get r6xx support in avivo. Following the same track, I patched the avivo driver to list my chipset device ID, but I got the same error message when starting X:
xf86MapVidMem: Could not mmap framebuffer (0xb0000000,0x0) (Invalid argument)So, I hopped in the #dri-devel channel to bug the driver developpers (mainly Jerome Glisse). The initial advice was that the radeon memory size register was not at the same offset in the BIOS anymore. Eek. And that I could grep for the memory size in a BIOS dump. Eek.
Actually, I just had to use the radeondump tool (radeondump HOWTO), and search for my memory size in the registers. It appeared to be in kB, so I grepped 0x00040000 (256*1024, since the card has 256MB) in the dump. It gave a few hits, and 0x168 was apparently the correct offset.
(II) avivo(0): No connector table in BIOS (EE) avivo(0): No valid modes.Trying ./avivotool/avivotool romtables shows the same No connector table in BIOS error message (after fixing avivotool check for mmap() return code). Even if the BIOS header reads ATOM, it seems that the format is different from other r4xx/r5xx chipsets. So, a new video BIOS format, fun in prospect!
I saved the BIOS rom in a file to make debugging easier:
$ lspci | grep VGA 01:00.0 VGA compatible controller: ATI Technologies Inc Unknown device 94c3 # cp /sys/bus/pci/devices/0000:01:00.0/rom r610.rom # ./avivotool/avivotool romtables r610.romBesides the source code of avivotool, I used some other Radeon BIOS dumps (r420, r520, r530, r580) as examples to guess the BIOS format, and notably to find where the connector table is hidden in my BIOS. The HowVideoCardsWork article from Xorg wiki was quite handy to get basic information about CRTC and connectors, since I'm a total n00b here.
I had to do some hex maths, so I used bc as hexadecimal calculator (tips about base modes) (more tips about hexadecimal). Maybe I could have used emacs-calc, or pixel's hexedit, but anyway I ended writting a lot of debug code to show hex numbers in the format I wanted to guess connectors offset. But so far, I have not found any relevant pattern :-/
Yesterday, I knew nothing about all this stuff, and here I am, parsing hex numbers (and again following warly's steps :-p)... I can't believe me, I should really take a break. Someday.
Vincent Panel: KDE 4.0 Beta 1 is available for Mandriva 2007.1
Warning : Beta1 isn’t as stable as you might expect and beta2 will probably give a better overview of KDE4. So you’d better install it on a test/virtual machine. (Thanks to Daniel Beck)
Yes !
- urpmi.addmedia kde4 <KDE_MIRROR>/pub/kde/unstable/3.92.0/Mandriva/2007.1/i586/media/4.0
- Update Mandriva Linux your favorite way
- You’re done
I can’t test it because I first need to clean my drive and get a lot of free space But If I manage to install it, be sure it’s gonna be on this blog !
(For you information, KDE 4.0 Beta 1 = KDE 3.92.0)
Vincent Panel: KDE 4.0 Beta 1 is available for Mandriva 2007.1
Yes !
- urpmi.addmedia kde4 <KDE_MIRROR>/pub/kde/unstable/3.92.0/Mandriva/2007.1/i586/media/4.0
- Update Mandriva Linux your favorite way
- You’re done
I can’t test it because I first need to clean my drive and get a lot of free space But If I manage to install it, be sure it’s gonna be on this blog !
(For you information, KDE 4.0 Beta 1 = KDE 3.92.0)