[haiku-bugs] Re: [Haiku] #7898: Executing install-wifi-firmwares.sh results in page fault

  • From: "taos" <trac@xxxxxxxxxxxx>
  • Date: Fri, 05 Aug 2011 10:01:34 -0000

#7898: Executing install-wifi-firmwares.sh results in page fault
-----------------------------+----------------------------
   Reporter:  taos           |      Owner:  axeld
       Type:  bug            |     Status:  new
   Priority:  normal         |  Milestone:  R1
  Component:  System/Kernel  |    Version:  R1/Development
 Resolution:                 |   Keywords:
 Blocked By:                 |   Blocking:
Has a Patch:  0              |   Platform:  All
-----------------------------+----------------------------

Comment (by taos):

 After comparing `ints` output before (see Ints_before.jpg) and after (see
 Ints_after.jpg) the crash, I think the problem seems related to the
 ipw2100 driver. The script is at the stage of installing the firmware for
 ipw2100 when the crash occurs (see KDL+Terminal.jpg).

 The following excerpt of [http://dev.haiku-
 os.org/browser/haiku/trunk/data/bin/install-wifi-firmwares.sh install-
 wifi-firmwares.sh] shows the more interesting parts relevant to the
 installation of the ipw2100 firmware:

 {{{
 [...]

 function UnlinkDriver()
 {
         # remove the driver's symlink
         rm -f "${driversDir}/dev/net/${driver}"
 }

 function SymlinkDriver()
 {
         # restore the driver's symlink
         cd "${driversDir}/dev/net/"
         ln -sf "../../bin/${driver}" "${driver}"
 }

 [...]

 function SetFirmwarePermissions()
 {
         cd ${firmwareDir}/${driver}/
         for file in * ; do
                 if [ "$file" != "$driver" ] ; then
                         chmod a=r $file
                 fi
         done
 }

 [...]

 function PreFirmwareInstallation()
 {
         echo "Installing firmware for ${driver} ..."
         mkdir -p "${firmwareDir}/${driver}"
         UnlinkDriver
 }

 function PostFirmwareInstallation()
 {
         SetFirmwarePermissions
         SymlinkDriver
         CleanTemporaryFiles
         echo "... firmware for ${driver} has been installed."
 }

 function InstallIpw2100()
 {
         driver='ipw2100'
         PreFirmwareInstallation

         # Extract contents.
         local file='ipw2100-fw-1.3.tgz'

         # In case the file doesn's exist.
         if [ ! -e ${firmwareDir}/${driver}/$file ] ; then
                 url='http://ipw2100.sourceforge.net/firmware.php?fid=4'
                 OpenIntelFirmwareWebpage $url $file
         fi
         # TODO: handle when $file hasn't been saved in
 ${firmwareDir}/${driver}/

         # Install the firmware & license file by extracting in place.
         cd "${firmwareDir}/${driver}"
         gunzip < "$file" | tar xf -

         PostFirmwareInstallation
 }
 }}}

 As I can't find any extracted firmware files I suppose the crash happened
 during the first step "PreFirmwareInstallation".

-- 
Ticket URL: <http://dev.haiku-os.org/ticket/7898#comment:6>
Haiku <http://dev.haiku-os.org>
Haiku - the operating system.

Other related posts: