NetBSD/shark Frequently Asked Questions
Hardware Information
- What type of memory does the Shark require?
- How do I extend memory to more than 64MB?
- Should I upgrade my Shark's firmware, and if so, how do I do it?
- Where's the internal IDE power supply and mounting brackets?
- How do I fix or replace the power supply unit?
- Is there a XF86config file that I can use on my shark?
Booting
- Gee, it looks a lot like a Sun boot monitor
- My EEPROM somehow got hosed; my Ethernet shows ff:ff:ff:ff:ff:ff
- How do I boot a Shark from an internal disk?
- When installing NetBSD/shark on a Shark with an internal drive, do I need to install a boot loader?
- What do I have to feed my Shark as root-path?
- I can't get my DNARD/Shark to netboot a new kernel!
- Can you give me a sample DHCP configuration?
General questions
Hardware Information
Most of the information is on Digital's site.
What type of memory does the Shark require?
The DNARD user guide has information about this in section 4.5.1, “Supported DIMMs”.
How do I extend memory to more than 64MB?
See the Extending memory on your DNARD (shark) to more than 64MB webpage for details.
Should I upgrade my Shark's firmware, and if so, how do I do it?
Upgrading the Shark's firmware can be somewhat frustrating, but in some cases, you may want (or need) to do it. these requests are incredibly busy right now. Chris Demetriou volunteered to help them out with firmware image distribution, and they accepted his offer.
If you're looking for an update for Shark firmware, Chris Demetriou
may be able to help you out. Send him an e-mail at
<cgd@NetBSD.org>
with the subject “SHARK FIRMWARE
REQUEST”, and then, after making you jump through a few hoops,
he'll point you at the bits.
People should know that there are a few “interesting” versions of firmware that they might want:
-
The 980225 image which is the minimum necessary to Shark support integrated into the master NetBSD sources. (The 1.3-based distribution from Digital could tolerate earlier versions, but the integrated bits won't)
-
A version of the 980225 image hacked to use all of the environment SEEPROM for OFW nvram storage. (This is useful if you want a large nvramrc, for instance)
-
An image dated 980908, which seems similar to the 980225, but adds additional keymaps and changes the video chip bootstrap initialization.
After you have the bits, you're ready to upgrade.
You should start by reading Chris' summary on the subject, from the port-arm32 mail archive.
Where's the internal IDE power supply and mounting brackets?
The DNARD does have an internal IDE port with a standard 0.100" spacing, 2-row, 40-pin header connector, as you see here.
However, the DNARD has only +5V power coming from its power supply — and no DC-DC converter to produce +12V. Therefore, you will only be able to pull 5V power from the four-pin white header connector behind the IDE port. There are no mounting brackets shipped with the DNARDs that have no Iomega ZIP drive preinstalled.
It is possible to use a "standard" 2.5 inch IDE hard drive, usually intended for laptops, inside the Shark. You will need:
- a 2.5" to 3.5" drive mounting bracket
- a 44-pin, 0.075" spacing to 40-pin-plus-4-pin, 0.100" spacing, IDE adapter cable
- 3.5" mounting rails as described below in mounting a 3.5" drive
Fortunately, almost all 2.5" HDs require low power and only +5V, so they will run off of the existing Shark power supply. This is the most ideal solution for adding an internal HD to the Shark for those models without the Zip drive.
Simply mount the 2.5" drive in the bracket, and attach the bracket as you would a 3.5" HD as described below. Connect the adapter cable from the hard drive to both the 40-pin IDE and the 4-pin power connectors on the motherboard.
WARNING: Most 3.5" HDDs are relatively high on heat. If trying this out, we recommend that you check the temperature of the drive and the motherboard underneath it frequently. You may also want to remove the front panel taken off and add an extra fan pointing directly at the hard disk opening.
The mounting holes for the internal HD are found at the front of the case on either side of the Zip drive recess (right above the ROMcard slot). Though this appears to need a special bracket, the "slide rails" used in some kinds of PCs (old Compaq, some Packard Hell, Gateway 2000) work perfectly for the task, even though they were intended for 5.25" drive bays.
For this task you will need:
- two PC drive slide rails
- a 40-pin "standard" IDE cable, short
- an external power supply to drive the HDD, with 4 pin Molex connector
- (optional) a soft ferrite toroid or cylinder to thread the power cord through
Attach the slide rails to the sides of the 3.5" hard drive, preferably in such a way that the hard drive is no more than 1 cm inward from the front metal wall of the DNARD. For Gateway 2000 rails, use the lower and frontmost of the pairs of screw slots.
Attach the drive, with slide rails attached, to the front metal wall of the DNARD. The screw holes use the same type of screws as the rest of the DNARD unit; unfortunately, those screws do not hold most PC brackets in place, so you may need to use metal washers or screws from a hardware store to affix the brackets. (If you know what size screw the DNARD uses, please let us know).
Connect the IDE cable to both the drive and motherboard. String the external power supply's cable through one of the back panels of the DNARD, and connect it to the drive. It's preferable to have a ferrite toroid somewhere along this power line inside the DNARD case as it will reduce electromagnetic interference. (Suggested by ross@NetBSD.org.)
It still needs investigating whether the external power supply can drive the DNARD motherboard by feeding power into the hard drive power connector.
“Oops” concerns: My unit has the HDD resting on a length of IDE cable, which also separates the drive from any electronic components on the motherboard. If your IDE cable is not “short”, this is a good idea to use, as there is at least one test jumper that could come in contact with the underside of the hard drive if the slide rails were to bend downward.
The common problem of "swimming" video observed on most — but not all — DNARD revision 5 units has a hardware fix involving some SMD soldering and very small pins. So, if you're dexterous enough for the job, here's the fix.
By some stroke of luck, some Rev5 boards do not have the problem, though they use identical parts.
Then have them: The Revision 5 specs are here.
Look carefully for the chip marked with a "233" under the ROMcard slot at the front right of the case. Don't be fooled about the size or lack of heatsink — that's it.
How do I fix or replace the power supply unit?
The original shark power supply is DC 5v 6A with +5v on the inner pin. Replacements of the same spec, and also 3A and 2A units have been known to work. Several useful posts include: http://mail-index.netbsd.org/port-arm/2005/02/26/0002.html, http://mail-index.netbsd.org/port-arm/2007/01/12/0000.html, http://mail-index.netbsd.org/port-arm/2007/01/13/0000.html, http://mail-index.netbsd.org/port-arm/2007/01/15/0000.html, http://mail-index.netbsd.org/port-arm/2007/03/27/0000.html.
Is there a XF86config file that I can use on my shark?
You should not need an XF86config or xorg.conf anymore. There's one at ftp://ftp.NetBSD.org/pub/NetBSD/arch/shark/DNARD/XF86Config.
Put it into your Sharks' /etc
directory if you are running ancient NetBSD.
Booting
Gee, it looks a lot like a Sun boot monitor
This is called the OpenFirmware boot monitor. It originated at Sun Microsystems, hence the very similar look. The firmware was created by FirmWorks.
The DNARD binding for OpenFirmware is available in this FAQ's download area.
You can also take a look at the actual OpenFirmware working group web page.
My EEPROM somehow got hosed; my Ethernet shows ff:ff:ff:ff:ff:ff
Todd Vierling figured this one out based on the information contained in the Sun NVRAM/hostid FAQ and the DNARD Host ID information. Believe it or not, mkp works on the DNARDs, though not quite like it does on the Suns. The mkpl shortcut does not work, however.
Assuming you know the Ethernet address of your unit (8:0:2b:AA:BB:CC where AA, BB, and CC are one or two digit hex numbers), use the following commands to reprogram your EEPROM. If you don't know what your machine's Ethernet address should be, pick one, but be wary of the MAC addresses elsewhere on your network.
ok 8 0 mkp 8 f mkp ok 0 1 mkp 0 e mkp ok 2b 2 mkp 2b d mkp ok AA 3 mkp AA c mkp ok BB 4 mkp BB b mkp ok CC 5 mkp CC a mkp ok reset-all
If this doesn't help, try it again with the following additional mkp commands:
ok ff 18 mkp ff 1c mkp ok 0 19 mkp 0 1d mkp ok 55 1a mkp 55 1e mkp ok aa 1b mkp aa 1f mkp
How do I boot a Shark from an internal disk?
To setup a Shark to boot from an internal IDE disk you must aquire an IDE cable and power adapter, ensure that drive is void of any PC BIOS partition tables, install NetBSD, and update your firmware settings.
The shark has an internal IDE connector, but it does not have a large 4-pin 12V power connector used by most standard IDE drives. In place of the large 4-pin 12V connector is a newer and smaller floppy drive style power connector. These factors make a laptop drive with a laptop to standard IDE converter the best choice. Depending on your converter, you may also need an adapter to convert the smaller floppy drive style power connector to the larger 12V connector required by your converter. Once installed, the drive can be secured to the top of the ROM slot track using cable ties. You can also use hook and fastener strips (also known by the brand name Velcro®) to secure the drive to the case.
Your drive must be properly formatted to be recognized as a bootable disk by the Shark firmware. The NetBSD/shark install will normally take care of most of the formatting for you, but in some cases your drive may have an IBM-PC style Master Boot Record (or MBR). This MBR must be erased before the Shark firmware will recognize the NetBSD filesystem on the drive. To make sure that the MBR is erased, do the following:
-
Install NetBSD as normal.
-
Before rebooting, obtain a shell prompt and issue the command
dd if=/dev/zero of=/dev/wd0c bs=512 count=1
-
Reboot and update the firmware environment (below).
To autoboot from the disk you will need to install the
wdboot
kernel and from the PROM type:
setenv boot-device disk:\netbsd
When installing NetBSD/shark on a Shark with an internal drive, do I need to install a boot loader?
The Shark's firmware is capable of loading the NetBSD kernel directly from an FFS, provided that the drive does not have an IBM-PC style MBR. (See the 'Booting a shark from an internal disk' question for instructions on removing an MBR.) As such, it does not require an on-disk boot loader unlike many other computers.
Some Sharks are configured to load /boot
by default, in
which case you can just link /netbsd
to that name.
What do I have to feed my Shark as “root-path”?
Use “/path/to/root
” (ipaddr of NFS
server is implied).
I can't get my DNARD/Shark to netboot a new kernel!
Chances are, you need to update your firmware. See the Shark firmware upgrade question for more information on that.
Can you give me a sample DHCP configuration?
These should be the minimum settings necessary to make dhcpd happy and to boot Sharks. You can find the Ethernet address by plugging a Shark in and looking at the console (a keyboard must be plugged in for the VGA console to work).
option domain-name "home.duh.org"; option domain-name-servers 10.69.1.3; subnet 10.69.1.0 netmask 255.255.255.0 {} host nc1 { hardware ethernet 08:00:2b:81:60:b6; fixed-address 10.69.1.5; filename "netbsd"; option root-path "/export/nc/nc1root"; next-server tftpserver_name; } host nc2 { hardware ethernet 08:00:2b:81:60:95; fixed-address 10.69.1.6; filename "netbsd"; option root-path "/export/nc/nc2root"; next-server tftpserver_name; }
General questions
What are the device names?
The various ports are available on the following devices:
- Printer (parallel Centronics 25-pin female):
/dev/lpt0
- Serial (DE9 male):
/dev/tty00
- Infrared controller:
/dev/tty01
- PS/2 style mouse:
/dev/pms0
- IDE drives:
/dev/[r]wd[01]*
- Ethernet: (device cs0)
How do I make use of the smart card or IR ports?
This is currently not unknown.
Under NetBSD, the smart card reader is on
/dev/scr0
, but it's not clear how to use the
device.
The infrared controller, which is bidirectional, is implemented
as a “serial” device on
/dev/tty01
. Its protocol probably needs
documentation, and a willing soul could explore it and let us in on
the secrets. Note that it is not irDA; rather, it is a slower
consumer-grade IR device.