From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754616AbXGIOkX (ORCPT ); Mon, 9 Jul 2007 10:40:23 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1752794AbXGIOkL (ORCPT ); Mon, 9 Jul 2007 10:40:11 -0400 Received: from an-out-0708.google.com ([209.85.132.249]:16692 "EHLO an-out-0708.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753049AbXGIOkK (ORCPT ); Mon, 9 Jul 2007 10:40:10 -0400 DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=Md9sDkYcVhji+cn6y71PO/UO0IHgzqd/TyBdGqwARcxpmAApY+4nCX4PxmhzUMhKAEInCTCMTukRUPPReNPtCODeiQN+yYjlt0wCHlKOCSWoUaPSFjUGfYDp/ALtUNpFy+qV61d9ou16Mzi7vak8C6BkOFqbnR1uyQdtDymFGyE= Message-ID: Date: Mon, 9 Jul 2007 16:40:08 +0200 From: mikie To: "Kay Sievers" Subject: Re: understanding firmware loader for speedtouch (kernel 2.6.21.5) Cc: "Indan Zupancic" , "Duncan Sands" , linux-kernel@vger.kernel.org In-Reply-To: <3ae72650707090659g283f8de8t1f6494c8acf31425@mail.gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <200707061620.44348.duncan.sands@math.u-psud.fr> <58019.81.207.0.53.1183749400.squirrel@secure.samage.net> <59741.81.207.0.53.1183977750.squirrel@secure.samage.net> <3ae72650707090659g283f8de8t1f6494c8acf31425@mail.gmail.com> Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org 2007/7/9, Kay Sievers : > On 7/9/07, mikie wrote: > > 2007/7/9, Indan Zupancic : > > > On Mon, July 9, 2007 10:49, mikie wrote: > > > > 2007/7/6, Indan Zupancic : > > > >> On Fri, July 6, 2007 16:20, Duncan Sands wrote: > > > >> > On Friday 6 July 2007 14:54:18 mikie wrote: > > > >> >> Hi, > > > >> >> > > > >> >> I experience some problems with the speedtch.c module, especially in > > > >> >> regards to its firmware loader. > > > >> >> I am not quite sure if this module is going to load the firmware > > > >> >> itself or does it use some external software to do that ? > > > >> > > > > >> > It loads it itself, using some external software! > > > >> > > > >> For information, it generates a hotplug event and the kernel calls the > > > >> program written at /proc/sys/kernel/hotplug with certain information. > > > >> That used to be /sbin/hotplug, became later udev, but today in general > > > >> udev reads the uevents generated by the kernel. > > > > > > > > On my system the /proc/sys/kernel/hotplug points to /sbin/hotplug. > > > > I copied your script to /sbin/hotplug and also added simple logging, > > > > so I can see whenever the script is being started. It turns out that > > > > the script is not started at all by the kernel... > > > > > > > > I am afraid that the kernel generates uevents only, could this be true? > > > > > > Not really, it would break backward compatibility, and if it were true, > > > they're remove the /proc/sys/kernel/hotplug setting too. As far as I know, > > > if it's set, that program will be executed, and if zero is written to it, only > > > uevents are generated. > > > > > > Make sure that the script is executable (chmod +x) > > > > Yes I have set it to be executable: > > root@srv:/sbin# ls -lah hotplug > > -rwxr-xr-x 1 root root 934 Jul 9 09:13 hotplug > > > > > and has "#!/bin/sh" > > > at the top, or else it won't work. If that's already the case, I've no idea. > > > > root@srv:/sbin# head hotplug > > #!/bin/sh > > set -e > > > > > > Everything looks OK, but still it does not fire up the script... > > It should run, if the kernel creates events. Can you run "udevmonitor > --env" while loading the driver? That way we can see if events are > generated by the kernel (if you don't have it, no need to install > udev, just download the udev tarball, type "make" and run > "./udevmonitor --env"). It seems that uevents are generated: UEVENT[1183991915.577581] add /class/firmware/1-2:1.0 (firmware) ACTION=add DEVPATH=/class/firmware/1-2:1.0 SUBSYSTEM=firmware SEQNUM=949 PHYSDEVPATH=/devices/pci0000:00/0000:00:07.2/usb1/1-2/1-2:1.0 PHYSDEVBUS=usb PHYSDEVDRIVER=speedtch FIRMWARE=speedtch-1.bin.2.00 TIMEOUT=60 UEVENT[1183991975.599358] add /class/firmware/1-2:1.0 (firmware) ACTION=add DEVPATH=/class/firmware/1-2:1.0 SUBSYSTEM=firmware SEQNUM=951 PHYSDEVPATH=/devices/pci0000:00/0000:00:07.2/usb1/1-2/1-2:1.0 PHYSDEVBUS=usb PHYSDEVDRIVER=speedtch FIRMWARE=speedtch-1.bin.2 TIMEOUT=60 -- Regards, MK