Difference between revisions of "Board:nokia/ip530"

From coreboot
Jump to navigation Jump to search
Line 1: Line 1:
My work on coreboot started with the Nokia IP530. These older firewalls are basically PC's, having a PIII and i440BX chip set in 19 inch 2u high units. I got these machines from my employer, they moved on to a visualized environment. I wanted to make them into some nice servers to test various things and play around with Linux.




== Hardware config of the Nokia IP530 ==
This page lists the coreboot status of the '''Nokia IP530''' mainboard. It's maintained by [[User:MBertens|Marc Bertens]].
<nowiki>
- PIII
- i440BX, 82371 chipset
- 28F400 intel flash
- SMSC 37B787 superio
- two HDD bays, which can be accessed from the front
- 4x NIC DECchip 21143
- dual PCMCIA slots
- 3x compact PCI slots (industrial PCI slots)
</nowiki>


[http://www.xs4all.nl/~mbertens/Ip530/31052010411.jpg Picture of the hardware]
[http://www.xs4all.nl/~mbertens/Ip530/31052010411.jpg Picture of the hardware]


Note: NO VGA only a serial console, and initial with 9K6-8n1
<!-- <br clear="all" /> -->


== The start ==
== Status ==
But when it started on then it seemed that they would not boot Linux, searching the web I found out that the orginal OS that was used by Nokia (IPSO) is FreeBSD based. Again I setup a new image on a harddisk but now with FreeBSD and yes it started... so I could get them to work, but the goal was to get linux on them. A lot of searching on the web, I ended up at coreboot and flashrom.


{{Status|


== Flashrom ==
|CPU_status = OK
First, I started with Flashrom, to be able to flash the ROM. Reading was not a problem but writing was. i contacted the IRC #flashrom room and asked a lot of questions and got a lot of help. I saved the original BIOS image in a file to start with.  
|CPU_L1_status = OK
|CPU_L1_comments = CPU: L1 I cache: 16K, L1 D cache: 16K
|CPU_L2_status = WIP
|CPU_L2_comments = L2 cache is not being enabled at the moment. We're working on fixing it.
|CPU_L3_status = N/A
|CPU_multiple_status = N/A
|CPU_multicore_status = N/A
|CPU_virt_status = N/A


The guys of Flashrom made a first patch to support the flash chip it self (28F400B-T). And with this patch i tried to flash the ROM with its original image. But it failed on the erase. I told them what had happened and they said "there has to be "'''bios-write-enable'''" hardware line comming from somewhere. So with a multimeter I found out where the WE# line of the ROM went, to the superio chip.
|RAM_EDO_status = N/A
|RAM_SDRAM_status = OK
|RAM_SODIMM_status = N/A
|RAM_DDR_status = N/A
|RAM_DDR2_status = N/A
|RAM_DDR3_status = N/A
|RAM_dualchannel_status = N/A
|RAM_ecc_status = WIP
|RAM_ecc_comments = Not yet supported by the coreboot 440BX code, but it's on our TODO list.


Again talking to the guys of flashrom and they made a second patch for me. And when I tried to flash it it did the erase and the write of the flashrom.
|IDE_status = OK
|IDE_25_status = N/A
|SATA_status = N/A
|USB_status = N/A
|USB_comments =
|Onboard_VGA_status = N/A
|Onboard_ethernet_status = OK
|Onboard_audio_status = N/A
|Onboard_modem_status = N/A
|Onboard_firewire_status = N/A
|Smartcard_status = N/A
|Onboard_CF_status = OK
|Onboard_PCMCIA_status = OK
|Onboard_SCSI_status = N/A


|ISA_cards_status = N/A
|AMR_cards_status = N/A
|Mini_PCI_cards_status = N/A
|PCIX_cards_status = N/A
|PCI_cards_status = OK
|PCI_cards_comments = Tested: With 4 Ethernet adaptor card of Nokia
|AGP_cards_status = N/A
|PCIE_cards_status = N/A
|PCIE_x1_status = N/A
|PCIE_x2_status = N/A
|PCIE_x4_status = N/A
|PCIE_x8_status = N/A
|PCIE_x16_status = N/A
|PCIE_x32_status = N/A
|HTX_status = N/A


== Coreboot ==
|Floppy_status = N/A
So finally i was ready to start on coreboot. Talking to the guys of coreboot they told me that it was a good idea to have a fallback option in case of coreboot is not able to boot. And that is 99% change, even that the chipset is supported, it need some work for it ready works.   
|COM1_status = OK
|COM2_status = OK
|PP_status = N/A
|PS2_keyboard_status = N/A
|PS2_mouse_status = N/A
|Game_port_status = N/A
|IR_status = N/A
|Speaker_status = N/A
|DiskOnChip_status = N/A


|Sensors_status = No
|Watchdog_status = N/A
|CAN_bus_status = N/A
|CPUfreq_status = N/A
|Powersave_status = N/A
|ACPI_status = No
|ACPI_comments = There's no ACPI implementation for this board, but it's on our TODO list.
|SMBus_status = N/A
|Reboot_status = N/A
|Poweroff_status = N/A
|LEDs_status = No
|LEDs_comments = Special-purpose LEDs available on the board, but it's on our TODO list.
|HPET_status = N/A
|RNG_status = N/A
|WakeOnModem_status = N/A
|WakeOnLAN_status = N/A
|WakeOnKeyboard_status = N/A
|WakeOnMouse_status = N/A
|Flashrom_status = OK


== Hardware ==
}}
On the main board is a JDEBUG connector, and i started with a multimeter to find out which signals where on this connector. And basically it has all the signals of the ROM D0-7 and A0-17, VCC and GND. And there are three pads that didn't have a jumper in it, and I found out that this was the ROMCS# line to the ROM and JDEBUG connector. But two pads where shorted. After finding the short (a 0 Ohm resistor on the board). I soldered in a jumper removed the resistor. Now i could select with a jumper the orginal ROM or the JDEBUG connector. I make a little adaptor board with a connector a PLCC32 socket and a resistor that could be placed on the JDEBUG connector. And i flashed (with a external programmer) my first image in the flash chip that i ordered at my local hardware store. 


[add-picture-flash-adaptor]


It did start coreboot, but it crashed as well !!!!!!!
{{GPL}}
 
 
== Finally ==
After a lot of fiddling i got coreboot to work, at first with only the serial port and HDD, later with just one NIC. and much later with even four NICs. And the latest is that all devices work, even the compact PCI slots.

Revision as of 06:21, 4 June 2010


This page lists the coreboot status of the Nokia IP530 mainboard. It's maintained by Marc Bertens.

Picture of the hardware


Status

Device/functionality Status Comments
CPU
CPU works OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | OK
L1 cache enabled OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | OK CPU: L1 I cache: 16K, L1 D cache: 16K
L2 cache enabled OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | WIP L2 cache is not being enabled at the moment. We're working on fixing it.
L3 cache enabled OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
Multiple CPU support OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
Multi-core support OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
Hardware virtualization OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
RAM
EDO OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
SDRAM OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | OK
SO-DIMM OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
DDR OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
DDR2 OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
DDR3 OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
Dual channel support OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
ECC support OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | WIP Not yet supported by the coreboot 440BX code, but it's on our TODO list.
On-board Hardware
On-board IDE 3.5" OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | OK
On-board IDE 2.5" OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
On-board SATA OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
On-board SCSI OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
On-board USB OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
On-board VGA OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
On-board Ethernet OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | OK
On-board Audio OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
On-board Modem OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
On-board FireWire OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
On-board Smartcard reader OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
On-board CompactFlash OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | OK
On-board PCMCIA OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | OK
On-board Wifi OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
On-board Bluetooth OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
On-board SD card reader OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
Add-on slots/cards
ISA add-on cards OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
Audio/Modem-Riser (AMR/CNR) cards OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
PCI add-on cards OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | OK Tested: With 4 Ethernet adaptor card of Nokia
Mini-PCI add-on cards OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
Mini-PCI-Express add-on cards OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | Unknown
PCI-X add-on cards OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
AGP graphics cards OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
PCI Express x1 add-on cards OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
PCI Express x2 add-on cards OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
PCI Express x4 add-on cards OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
PCI Express x8 add-on cards OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
PCI Express x16 add-on cards OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
PCI Express x32 add-on cards OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
HTX add-on cards OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
Legacy / Super I/O
Floppy OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
Serial port 1 (COM1) OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | OK
Serial port 2 (COM2) OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | OK
Parallel port OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
PS/2 keyboard OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
PS/2 mouse OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
Game port OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
Infrared OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
PC speaker OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
DiskOnChip OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
Input
Trackpoint OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
Touchpad OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
Fn Hotkeys OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
Fingerprint Reader OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
Laptop
Docking VGA OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
Docking LAN OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
Docking USB OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
Docking Audio OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
Docking Displayport OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
Thinklight OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
Webcam OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
Miscellaneous
Sensors / fan control OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | No
Hardware watchdog OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
SMBus OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
CAN bus OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
CPU frequency scaling OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
Other powersaving features OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
ACPI OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | No There's no ACPI implementation for this board, but it's on our TODO list.
Reboot OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
Poweroff OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
Suspend OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | Unknown
Nonstandard LEDs OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | No Special-purpose LEDs available on the board, but it's on our TODO list.
High precision event timers (HPET) OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
Random number generator (RNG) OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
Wake on modem ring OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
Wake on LAN OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
Wake on keyboard OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
Wake on mouse OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A
TPM OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | Unknown
Flashrom OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | OK


GNU head This work is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or any later version. This work is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.