Re: upgraded to current - need bnx firmware?

2006-12-27 Thread Ingo Schwarze
Ryan Flannery wrote on Tue, Dec 26, 2006 at 07:26:59PM -0500:
 On 12/26/06, George C [EMAIL PROTECTED] wrote:

 I just upgraded my 4.0 system to -current (GENERIC.MP),

You mean, before that, you had a 4.0-release or -stable system?
Just a wild guess since you explicitely mention the kernel:
Did you also extract the -current base40.tgz file set?

See http://www.openbsd.org/faq/faq5.html#Flavors:

|| Keeping Things in Sync
|| It is important to understand that OpenBSD is an Operating System,
|| intended to be taken as a whole, not a kernel with a bunch of
|| utilities stuck on.  You must make sure your kernel, userland
|| (the supporting utilities and files) and ports tree are all in
|| sync, or unpleasant things will happen.  Said another way (because
|| people just keep making the error), you can not run brand new ports
|| on a month old system, or rebuild a kernel from -current source and
|| expect it to work with a -release userland.

Note the last sentence in particular.

 and when I reboot, the two bnx devices could not find firmware
 in /etc/firmware.  It appears to be looking for /etc/firmware/bnx,
 but that file is not present.

 try the following:
 # cd /usr/src/sys/dev/microcode/bnx
 # make
 
 that should produce a file named 'bnx' in that directory.  copy it to
 /etc/firmware and reboot.

That may solve the immediate problem, but i suspect you might have
more problems than you noticed yet.

 I can reboot the old kernel just fine (so it appears the old bnx
 driver did not require it).  Curious how/where the new firmware for
 bnx is located at, and where I can obtain a copy.

 Is there some step I missed in the upgrade procedure that builds/adds
 these firmware files?  or is this simply done separately?

No, at least on i386, they are just contained in base40.tgz.

 I followed the FAQ.

Very strange.  After properly updating to 4.0-current on i386,
/etc/firmware/bnx is in place.  I just did a source upgrade of
my development machine tonight:

[EMAIL PROTECTED] $ sysctl kern.version
kern.version=OpenBSD 4.0-current (GENERIC) #3: Tue Dec 26 20:45:43 CET 2006
[EMAIL PROTECTED]:/usr/src/sys/arch/i386/compile/GENERIC
[EMAIL PROTECTED] $ grep bnx make-061226.log | tail -n3
=== sys/dev/microcode/bnx
install -c -o root -g bin -m 644  bnx /etc/firmware
install -c -o root -g bin -m 644
  /usr/src/sys/dev/microcode/bnx/bnx-license /etc/firmware
[EMAIL PROTECTED] $ ll /etc/firmware/bnx
 
-rw-r--r--  1 root  bin  87616 Dec 27 01:26 /etc/firmware/bnx

The Dec 25 snapshot looks fine, too:

[EMAIL PROTECTED] $ tar -tzvf base40.tgz | grep 'etc.*bnx'
-rw-r--r--  1 root bin 87616 Dec 25 11:50 ./etc/firmware/bnx
-rw-r--r--  1 root bin  1946 Dec 25 11:50 ./etc/firmware/bnx-license

Obviously, something went wrong in your case.
Do not rely on the correctness of your system
before you understand what exactly was screwed up.

 Also I've google'ed the archives/web for any answer to these
 questions... unfortunately the web  mail archives are full of
 references to the iwi firmware licensing issue, and little else.



Re: upgraded to current - need bnx firmware?

2006-12-27 Thread George C

On 12/27/06, Ingo Schwarze [EMAIL PROTECTED] wrote:

Ryan Flannery wrote on Tue, Dec 26, 2006 at 07:26:59PM -0500:
 On 12/26/06, George C [EMAIL PROTECTED] wrote:

 I just upgraded my 4.0 system to -current (GENERIC.MP),

You mean, before that, you had a 4.0-release or -stable system?
Just a wild guess since you explicitely mention the kernel:
Did you also extract the -current base40.tgz file set?


I had a 4.0-release install right from the cd pack.  I extracted the source
from the cd and then updated it to -current (both /usr/src and /usr/src/sys).
then i built the new kernel, reboot, and was going to build the userland
when i ran into the bnx firmware problem.

i installed the firmware following the instructions above, reboot, and then
attempted to build the userland.

In section 5.3.4 of the FAQ, after building  installing the new kernel...

 At this point, reboot your machine to activate this new kernel. Note
   that the new kernel should be running before the next step, though if
   you have followed the above advice about upgrading to the most
   recent available snapshot, it may not matter as much. Sometimes,
   however, APIs change, and the old kernel will be unable to run new
   applications, but the new kernel will generally support the old ones.

however, when I went to build the userland (after rebooting with the new
kernel and rebooting after installing the bnx firmware), the build itself went
fine (as far as i can tell) but when it was installing everything, i got the
following kernel panic:

  uvm_fault(0xd0761680, 0xefd32000, 0, 1) - e
  kernel: page fault trap, code=0
  Stopped at pmap_page_remove_86+0x114:   movl   0(%eax, %edx, 4), %eax)
  ddb{3}

(my USB keyboard stopped working at that point, and i could not obtain a 'ps'
or 'trace' output...my apologies)

when I reboot, I get the following error after most of the kernel
loads, right afer
the two bnx devices are found:

  init: not found
  panic: no init
  Stopped at Debugger+0x4:   leave

I guess I should NOT have reboot before building the userland?  After
reading the portion of the FAQ I posted above, I thought rebooting would
be the 'safe' thing to do.


See http://www.openbsd.org/faq/faq5.html#Flavors:

|| Keeping Things in Sync
|| It is important to understand that OpenBSD is an Operating System,
|| intended to be taken as a whole, not a kernel with a bunch of
|| utilities stuck on.  You must make sure your kernel, userland
|| (the supporting utilities and files) and ports tree are all in
|| sync, or unpleasant things will happen.  Said another way (because
|| people just keep making the error), you can not run brand new ports
|| on a month old system, or rebuild a kernel from -current source and
|| expect it to work with a -release userland.

Note the last sentence in particular.

 and when I reboot, the two bnx devices could not find firmware
 in /etc/firmware.  It appears to be looking for /etc/firmware/bnx,
 but that file is not present.

 try the following:
 # cd /usr/src/sys/dev/microcode/bnx
 # make

 that should produce a file named 'bnx' in that directory.  copy it to
 /etc/firmware and reboot.

That may solve the immediate problem, but i suspect you might have
more problems than you noticed yet.

 I can reboot the old kernel just fine (so it appears the old bnx
 driver did not require it).  Curious how/where the new firmware for
 bnx is located at, and where I can obtain a copy.

 Is there some step I missed in the upgrade procedure that builds/adds
 these firmware files?  or is this simply done separately?

No, at least on i386, they are just contained in base40.tgz.

 I followed the FAQ.

Very strange.  After properly updating to 4.0-current on i386,
/etc/firmware/bnx is in place.  I just did a source upgrade of
my development machine tonight:

[EMAIL PROTECTED] $ sysctl kern.version
kern.version=OpenBSD 4.0-current (GENERIC) #3: Tue Dec 26 20:45:43 CET 2006
[EMAIL PROTECTED]:/usr/src/sys/arch/i386/compile/GENERIC
[EMAIL PROTECTED] $ grep bnx make-061226.log | tail -n3
=== sys/dev/microcode/bnx
install -c -o root -g bin -m 644  bnx /etc/firmware
install -c -o root -g bin -m 644
  /usr/src/sys/dev/microcode/bnx/bnx-license /etc/firmware
[EMAIL PROTECTED] $ ll /etc/firmware/bnx
-rw-r--r--  1 root  bin  87616 Dec 27 01:26 /etc/firmware/bnx

The Dec 25 snapshot looks fine, too:

[EMAIL PROTECTED] $ tar -tzvf base40.tgz | grep 'etc.*bnx'
-rw-r--r--  1 root bin 87616 Dec 25 11:50 ./etc/firmware/bnx
-rw-r--r--  1 root bin  1946 Dec 25 11:50 ./etc/firmware/bnx-license

Obviously, something went wrong in your case.
Do not rely on the correctness of your system
before you understand what exactly was screwed up.

 Also I've google'ed the archives/web for any answer to these
 questions... unfortunately the web  mail archives are full of
 references to the iwi firmware licensing issue, and little else.




Re: upgraded to current - need bnx firmware?

2006-12-27 Thread Ingo Schwarze
George C wrote on Wed, Dec 27, 2006 at 04:53:43PM -0500:

 I had a 4.0-release install right from the cd pack.

That's fine, indeed.  :-)

 I extracted the source from the cd and then updated it to -current
 (both /usr/src and /usr/src/sys).  then i built the new kernel,

This is not the safest road to -current.  Better get a snapshot and
use the standard install or upgrade process before you try to
compile a -current system.

 reboot, and was going to build the userland when i ran into the
 bnx firmware problem.

Well, that is about the reason why large jumps forward are more
easily done by binary than by source upgrades:

 $ tar -tzvf 4.0-release/i386/base40.tgz | grep bnx | cut -b56-
./usr/libdata/perl5/site_perl/i386-openbsd/dev/pci/if_bnxreg.ph
 $ tar -tzvf 4.0-current/i386/base40.tgz | grep bnx | cut -b56- 
./etc/firmware/bnx
./etc/firmware/bnx-license
./usr/libdata/perl5/site_perl/i386-openbsd/dev/pci/if_bnxreg.ph

If you try to compile a new system, you always run a risk that
some part of the task turns out to be non-trivial because something
changed in between.  The risk increases with time, and going from
4.0-release to 4.0-current in one step proved more difficult than
you liked.

The FAQ section 5.3.4 you cite is certainly important, yet you
should not overlook section 5.3.2, either:
  http://www.openbsd.org/faq/faq5.html#BldBinary

[...]
   init: not found
   panic: no init

Ooops.  That's bad.  Apparently, you trashed /sbin, and quite
possibly more besides.

Do not try to repair that system, at very best, it will result
in a waste of time.

Reconsider whether you actually need -current.  If you are not
quite sure, use -stable instead.

In case you are really sure you want -current, use the latest
snapshot - and stay with that, if you can.  See FAQ 5.2:
  http://www.openbsd.org/faq/faq5.html#WhySrc
When you feel the need to upgrade, get the next snapshot.



Re: upgraded to current - need bnx firmware?

2006-12-26 Thread Ryan Flannery

On 12/26/06, George C [EMAIL PROTECTED] wrote:

Hello misc,
I just upgraded my 4.0 system to -current (GENERIC.MP), and when I
reboot, the two bnx devices could not find firmware in /etc/firmware.  It
appears to be looking for /etc/firmware/bnx, but that file is not present.


try the following:
# cd /usr/src/sys/dev/microcode/bnx
# make

that should produce a file named 'bnx' in that directory.  copy it to
/etc/firmware and reboot.



I can reboot the old kernel just fine (so it appears the old bnx driver did
not require it).  Curious how/where the new firmware for bnx is located
at, and where I can obtain a copy.

Is there some step I missed in the upgrade procedure that builds/adds
these firmware files?  or is this simply done separately?  I followed the
FAQ.  Also I've google'ed the archives/web for any answer to these
questions... unfortunately the web  mail archives are full of references
to the iwi firmware licensing issue, and little else.


-GeorgeC