From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from pigeon.gentoo.org ([208.92.234.80] helo=lists.gentoo.org) by finch.gentoo.org with esmtp (Exim 4.60) (envelope-from ) id 1QsxrL-0001pY-Gs for garchives@archives.gentoo.org; Mon, 15 Aug 2011 14:09:43 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id F126121C214; Mon, 15 Aug 2011 14:09:21 +0000 (UTC) Received: from smtp208.alice.it (smtp208.alice.it [82.57.200.104]) by pigeon.gentoo.org (Postfix) with ESMTP id 4F61B21C1AA for ; Mon, 15 Aug 2011 14:07:21 +0000 (UTC) Received: from infra.agr.fm (87.9.72.252) by smtp208.alice.it (8.5.124.08) id 4DE64DF106E5CE4E for gentoo-user@lists.gentoo.org; Mon, 15 Aug 2011 16:07:20 +0200 Received: from silver-w.agr.fm (silver-w.agr.fm [192.168.64.16]) by infra.agr.fm (Postfix) with ESMTP id 8F5DE5DD137 for ; Mon, 15 Aug 2011 16:07:19 +0200 (CEST) Message-ID: <4E492817.20802@alyf.net> Date: Mon, 15 Aug 2011 16:07:19 +0200 From: Andrea Conti User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:5.0) Gecko/20110624 Thunderbird/5.0 Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-user@lists.gentoo.org Reply-to: gentoo-user@lists.gentoo.org MIME-Version: 1.0 To: gentoo-user@lists.gentoo.org Subject: Re: [gentoo-user] Re: Firmware exists but fails to load References: In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Archives-Salt: X-Archives-Hash: 136af13e130e76b237e06f394f8e74e0 > It's not a workaround, but how it's supposed to work. "Loading from > userspace" means using a user-space program to load the firmware. This > is not what you're trying to do, since you don't have such a program. ? Udev has been the standard way to service kernel firmware requests for quite some time. The relevant bit is in /lib/udev/rules.d/50-firmware.rules . However, udevd is only started after the kernel is loaded, and therefore will only load firmware for drivers which are built as modules. Firmware for built-in drivers must either be compiled into the kernel or be provided in an initrd along with a suitable helper. Is there a specific reason why the r8169 driver cannot be loaded as a module? AFAIK the only case in which you *need* a built-in net driver is if you're doing root over NFS. > Your other option is writing a userspace program that reads the firmwar= e > after the kernel has booted and patches it into the hardware. Patching is always done by the kernel driver. The userspace helper only has to answer kernel requests for a specific firmware by providing the correct data. > But why would you want to do something like that anyway? Typical reasons are to keep the kernel image size down and to avoid having to recompile the kernel whenever a new firmware version is released. Though I'll admit that kernel releases tend to be more frequent than new firmware versions :) Just my .02=E2=82=AC andrea