Cobalt Thread

Additional operating system/hardware discussion (Windows, Linux, *BSD and others)
Forum rules
Any posts concerning pirated software or offering to buy/sell/trade commercial software are subject to removal.
Gul-Dukat
Posts: 7
Joined: Fri Feb 10, 2017 4:55 pm

Re: Cobalt Thread

Unread postby Gul-Dukat » Sat Feb 11, 2017 4:44 am

johnnym wrote:Did the display of the RaQ 3 show the first row black and the second row blank? If yes, the firmware might be broken (see http://forums.nekochan.net/viewtopic.php?f=1&t=16730589&start=255#p7396780).


Ill check - it was last year. I dont recall. But great tip for when I do re-test it.

Wow, didn't knew the K6-2s (do you have K6-2s, K6-2+s or even K6-III(+)s?) were/are that capable.


Code: Select all

cobaltDVB:/usr/src# dmesg |grep CPU
Notice: NX (Execute Disable) protection missing in CPU!
Initializing CPU#0
CPU 0 irqstacks, hard=df406000 soft=df408000
CPU: AMD-K6(tm)-III Processor stepping 04

They work fine! Not not intensive to anything but the network. And most Transport streams (even the entire mux) is less than 100Mbps.
Too bad that your Xeon machine is dead. But I assume each of your remaining machines is still faster in kernel compilation than your RaQs. I think you can also do the compilation in any Debian Wheezy for i386 installation (e.g in a virtual machine).


I like waiting the 1.5-2 hours to compile on the raq4 itself.
I've got kids. Gives me time to interact with them and get less grief from the wife about my projects.

User avatar
johnnym
Donor
Donor
Posts: 88
Joined: Sun Sep 04, 2016 9:53 pm

Re: Cobalt Thread

Unread postby johnnym » Sat Feb 11, 2017 5:21 am

Gul-Dukat wrote:I've not used linux-source-3.2 but rather I have decompressed the raw kernel source code file.
[...]
I Seem to have hit a few differences:

linux-source-3.2 is with Debian patches.

Gul-Dukat wrote:

Code: Select all

cobaltDVB:/usr/src/linux# patch -p1 < ../linux-cobalt-3.2.65.patch
[...]
[b]patch unexpectedly ends in middle of line[/b]
[...]


Looks like pastebin ate the new line at the end of the file.
:Indy: :O2: :Octane: :Octane2: :O200: = :O200: - :O200: = :O200: (O200 cluster w/2 GIGAchannel cabinets)
[ ( hp ) ] c3000 (dead) c3700 c3750 c8000 :hpserv: (J5600) rp2470 :rx2600: (rx2620) rx4640
| d | i | g | i | t | a | l | AXPpci33 AlphaStation 200 4/166 AlphaStation 255 300 Personal Workstation 500au AlphaServer DS20E
C O B A L T Qube 2 Qube 3 RaQ RaQ 2 RaQ 4r RaQ XTR

Gul-Dukat
Posts: 7
Joined: Fri Feb 10, 2017 4:55 pm

Re: Cobalt Thread

Unread postby Gul-Dukat » Sat Feb 11, 2017 5:39 am

johnnym wrote:linux-source-3.2 is with Debian patches.


ahhhh - no biggie - I think I've sorted it.

Looks like pastebin ate the new line at the end of the file.

yeah I notice that, and have corrected :)

Gul-Dukat
Posts: 7
Joined: Fri Feb 10, 2017 4:55 pm

Re: Cobalt Thread

Unread postby Gul-Dukat » Wed Feb 15, 2017 6:43 am

Hi Guys,
Just a random query, based on a problem I've had with 2.6.39.1 as well as 3.2.x kernels.

How do you get the E100 eth to work?

I've confirmed the patch is applied and the EEPROM CRC is ignored.
I've installed the firmware files from non-free. They exist in /lib/firmware.

But still - on reboot....

eth0: Failed to load firmware "e100/d101m_ucode.bin": -22

Cheers

User avatar
johnnym
Donor
Donor
Posts: 88
Joined: Sun Sep 04, 2016 9:53 pm

Re: Cobalt Thread

Unread postby johnnym » Wed Feb 15, 2017 9:14 am

Gul-Dukat wrote:[...]

How do you get the E100 eth to work?

I've confirmed the patch is applied and the EEPROM CRC is ignored.
I've installed the firmware files from non-free. They exist in /lib/firmware.

But still - on reboot....

eth0: Failed to load firmware "e100/d101m_ucode.bin": -22

Cheers

Sorry, no idea. I have the firmware compiled into the kernel (CONFIG_FIRMWARE_IN_KERNEL), as I need the NIC(s) for mounting the NFS root FS. Hence I don't have this issue AFAICS. No, I have to correct myself here. when checking this half an hour ago I was booting the Qube 3 which uses other NICs. When checking this just now with my first RaQ 4r, despite having CONFIG_FIRMWARE_IN_KERNEL, it looks like the firmware is actually not compiled into the kernel:

Code: Select all

e100: Intel(R) PRO/100 Network Driver, 3.5.24-k2-NAPI
e100: Copyright(c) 1999-2006 Intel Corporation
e100: Modified by <jeff@404ster.com> to ignore bad EEPROM checksums
e100: Updated by <dave.studeman@raqcop.com> to compile with 2.6.35 to 3.x.x
e100 0000:00:10.0: (unregistered net_device): EEPROM corrupted
e100 0000:00:10.0: eth0: addr 0xf7ffc000, irq 11, MAC addr 00:10:e0:11:22:33
e100 0000:00:12.0: (unregistered net_device): EEPROM corrupted
e100 0000:00:12.0: eth1: addr 0xf7fbf000, irq 10, MAC addr 00:10:e0:11:22:44
[...]
e100 0000:00:10.0: eth0: CPUSaver disabled. Needs "e100/d101s_ucode.bin": -22
e100 0000:00:10.0: eth0: NIC Link is Up 100 Mbps Full Duplex
e100 0000:00:12.0: eth1: CPUSaver disabled. Needs "e100/d101s_ucode.bin": -22
Sending DHCP requests ., OK
IP-Config: Got DHCP answer from 172.16.0.4, my address is 172.16.2.18
IP-Config: Complete:

But as you can see it seems like it doesn't do any harm, that the firmware files cannot be found, even for cases where the NIC is needed to mount the root file system (NFS root FS).

The kernel message doesn't give the prefix directory in the firmware loading error message, right? Maybe it expects them in a different directory? For Debian 7 there seem to be multiple possible locations, see https://wiki.debian.org/Firmware#Location_of_the_firmwares.
:Indy: :O2: :Octane: :Octane2: :O200: = :O200: - :O200: = :O200: (O200 cluster w/2 GIGAchannel cabinets)
[ ( hp ) ] c3000 (dead) c3700 c3750 c8000 :hpserv: (J5600) rp2470 :rx2600: (rx2620) rx4640
| d | i | g | i | t | a | l | AXPpci33 AlphaStation 200 4/166 AlphaStation 255 300 Personal Workstation 500au AlphaServer DS20E
C O B A L T Qube 2 Qube 3 RaQ RaQ 2 RaQ 4r RaQ XTR

Gul-Dukat
Posts: 7
Joined: Fri Feb 10, 2017 4:55 pm

Re: Cobalt Thread

Unread postby Gul-Dukat » Wed Feb 15, 2017 6:41 pm

Hi, Thanks.

No it doesn't report in the error which directory it is trying to get the firmware from.

So to cheat, i put the files in all of the dirs listed on the page URL.
Then I rebooted and the same error message. :(

Code: Select all

e100: Intel(R) PRO/100 Network Driver, 3.5.24-k2-NAPI
e100: Copyright(c) 1999-2006 Intel Corporation
e100: Modified by <jeff@404ster.com> to ignore bad EEPROM checksums
e100: Updated by <dave.studeman@raqcop.com> to compile with 2.6.35 to 3.x.x
e100 0000:00:10.0: (unregistered net_device): EEPROM corrupted
e100 0000:00:10.0: PME# disabled
e100 0000:00:10.0: eth0: addr 0xf7ffc000, irq 11, MAC addr 00:10:e0:03:59:b7
e100 0000:00:12.0: (unregistered net_device): EEPROM corrupted
e100 0000:00:12.0: PME# disabled
e100 0000:00:12.0: eth1: addr 0xf7fbf000, irq 10, MAC addr 00:10:e0:03:59:b8

--- Other Things ---

e100 0000:00:10.0: eth0: Failed to load firmware "e100/d101s_ucode.bin": -22
e100 0000:00:10.0: eth0: Failed to load firmware "e100/d101s_ucode.bin": -22



If I run an ifup eth0, it forces udev to try to load the drivers and it reports the same error message :(

User avatar
johnnym
Donor
Donor
Posts: 88
Joined: Sun Sep 04, 2016 9:53 pm

Re: Cobalt Thread

Unread postby johnnym » Wed Feb 15, 2017 11:04 pm

Gul-Dukat wrote:
johnnym wrote:Did the display of the RaQ 3 show the first row black and the second row blank? If yes, the firmware might be broken (see http://forums.nekochan.net/viewtopic.php?f=1&t=16730589&start=255#p7396780).


Ill check - it was last year. I dont recall. But great tip for when I do re-test it.

One addition: I yesterday had problems with my second RaQ 4r. It always crashed when booting the v3.2.84 Linux kernel with Cobalt patches. It worked well end of January during my testing, so I was a little irritated. This morning I opened the case and checked the interior, but everything looked OK. I then assumed that maybe one of the memory modules (1 x 256 MiB, 1 x 64 MiB) might be faulty and removed the 64 MiB module. Then the Cobalt didn't POST at all. It did show the first row black and the second row blank just like when the firmware is broken. I switched the slots for the remaining 256 MiB module but it still didn't POST. Well, it could also be that when using a single memory module it always has to be in the slot next to the CPU. I then removed the 256 MiB module and reinserted it in the first slot and now it worked again. I readded the 64 MiB module to the second slot and it still works. So maybe the modules weren't properly seated.

But to be clear, without memory installed the RaQ 4r behaved like it had a broken firmware. So if it shows the first row black and the second row blank, it could help to first try to reseat the memory modules before giving up on the machine.
:Indy: :O2: :Octane: :Octane2: :O200: = :O200: - :O200: = :O200: (O200 cluster w/2 GIGAchannel cabinets)
[ ( hp ) ] c3000 (dead) c3700 c3750 c8000 :hpserv: (J5600) rp2470 :rx2600: (rx2620) rx4640
| d | i | g | i | t | a | l | AXPpci33 AlphaStation 200 4/166 AlphaStation 255 300 Personal Workstation 500au AlphaServer DS20E
C O B A L T Qube 2 Qube 3 RaQ RaQ 2 RaQ 4r RaQ XTR

User avatar
johnnym
Donor
Donor
Posts: 88
Joined: Sun Sep 04, 2016 9:53 pm

Re: Cobalt Thread

Unread postby johnnym » Wed Feb 15, 2017 11:21 pm

Gul-Dukat wrote:If I run an ifup eth0, it forces udev to try to load the drivers and it reports the same error message :(

Ok, did you also tried a per kernel version sub directory (/lib/firmware/$(uname -r)) and put the e100 firmware directory there?

One other point that might explain, why it doesn't working during kernel startup:

Is the e100 driver compiled into your kernel? And you also don't use an (in kernel) initrd, right? Then the kernel cannot load the firmware as long as no root FS is mounted. But it also doesn't work after the root FS is mounted in your case as per your description above.

Best way might be to include the firmware in the kernel then. I'll look into this again and try to get this done. The firmware files for the e100 are very small, so should not increase the size of the kernel too much.
:Indy: :O2: :Octane: :Octane2: :O200: = :O200: - :O200: = :O200: (O200 cluster w/2 GIGAchannel cabinets)
[ ( hp ) ] c3000 (dead) c3700 c3750 c8000 :hpserv: (J5600) rp2470 :rx2600: (rx2620) rx4640
| d | i | g | i | t | a | l | AXPpci33 AlphaStation 200 4/166 AlphaStation 255 300 Personal Workstation 500au AlphaServer DS20E
C O B A L T Qube 2 Qube 3 RaQ RaQ 2 RaQ 4r RaQ XTR

User avatar
johnnym
Donor
Donor
Posts: 88
Joined: Sun Sep 04, 2016 9:53 pm

Re: Cobalt Thread

Unread postby johnnym » Wed Feb 22, 2017 2:33 am

johnnym wrote:Best way might be to include the firmware in the kernel then. I'll look into this again and try to get this done. The firmware files for the e100 are very small, so should not increase the size of the kernel too much.

OK, after numerous config changes and Linux kernel rebuilds and no matter where I moved the firmware files inside and outside of the Linux kernel source tree, I wasn't successful in getting the v3.2.x kernel with built-in e100 driver to load the corresponding firmware files. :(

A reason for this might be that it is just impossible with this Linux kernel version to load a firmware file without a userspace helper (as per this post to the Debian bug tracker).

As there is no initrd used by the specific Linux kernel with Cobalt patches, firmware loading with the help of a userspace tool cannot happen before the root file system is mounted. And then it might be too late to load the firmware, at least in my case, where the root FS is mounted via NFS. I assume if the firmware for the built-in NICs is loaded after mounting the NFS root FS, this would mean trouble, because it could re-initialize the NICs.
There is a way to include the initrd image into the Linux kernel though, but I wonder if the resulting Linux kernel image could be made small enough to not exceed the maximum file size the latest Cobalt firmware can load (there are only 2097152 B. - 1823313 B. = 273839 Bytes left!).

And if it doesn't hurt if the firmware cannot be loaded, why should one care. :) Or does it create a problem for you, Gul-Dukat?
:Indy: :O2: :Octane: :Octane2: :O200: = :O200: - :O200: = :O200: (O200 cluster w/2 GIGAchannel cabinets)
[ ( hp ) ] c3000 (dead) c3700 c3750 c8000 :hpserv: (J5600) rp2470 :rx2600: (rx2620) rx4640
| d | i | g | i | t | a | l | AXPpci33 AlphaStation 200 4/166 AlphaStation 255 300 Personal Workstation 500au AlphaServer DS20E
C O B A L T Qube 2 Qube 3 RaQ RaQ 2 RaQ 4r RaQ XTR

User avatar
ClassicHasClass
Donor
Donor
Posts: 1904
Joined: Wed Jul 25, 2012 7:12 pm
Location: Sunny So Cal
Contact:

Re: Cobalt Thread

Unread postby ClassicHasClass » Sun Apr 09, 2017 11:24 am

Poking this thread. Over the weekend I sat down with my original MIPS RaQ to try johnnym's suggestion with the load resistor, except that while trying to rehabilitate the board I ended up snapping the battery off. That shouldn't be a hard fix but I just ended up saying eff it and sticking the hard disk into a RaQ 2 I had bought as a spare and grabbing the biggest RAM sticks I could. Wow, is the RaQ 2 so much zippier than the original RaQ! And having 144MB instead of 32MB certainly doesn't hurt. Here's the NetBSD dmesg on it now:

Code: Select all

Cobalt RaQ 2
total memory = 144 MB
avail memory = 136 MB
timecounter: Timecounters tick every 10.000 msec
mainbus0 (root)
com0 at mainbus0 addr 0x1c800000 level 3: st16650a, working fifo
com0: console
cpu0 at mainbus0: QED RM5200 CPU (0x28a0) Rev. 10.0 with built-in FPU Rev. 10.0
cpu0: 32KB/32B 2-way set-associative L1 Instruction cache, 48 TLB entries
cpu0: 32KB/32B 2-way set-associative write-back L1 Data cache
mcclock0 at mainbus0 addr 0x10000070: mc146818 compatible time-of-day clock
panel0 at mainbus0 addr 0x1f000000
gt0 at mainbus0 addr 0x14000000
pci0 at gt0
pci0: i/o space, memory space enabled, rd/line, wr/inv ok
pchb0 at pci0 dev 0 function 0: Galileo GT-64111 System Controller, rev 1
tlp0 at pci0 dev 7 function 0: DECchip 21143 Ethernet, pass 4.1
tlp0: interrupting at level 1
tlp0: Ethernet address 00:10:e0:00:ec:01
lxtphy0 at tlp0 phy 1: LXT970 10/100 media interface, rev. 3
lxtphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
pcib0 at pci0 dev 9 function 0
pcib0: VIA Technologies VT82C586 PCI-ISA Bridge, rev 39
viaide0 at pci0 dev 9 function 1
viaide0: VIA Technologies VT82C586 (Apollo VP) ATA33 controller
viaide0: bus-master DMA support present
viaide0: primary channel configured to compatibility mode
viaide0: primary channel interrupting at irq 14
atabus0 at viaide0 channel 0
viaide0: secondary channel configured to compatibility mode
viaide0: secondary channel interrupting at irq 15
atabus1 at viaide0 channel 1
VIA Technologies VT83C572 USB Controller (USB serial bus, revision 0x02) at pci0 dev 9 function 2 not configured
timecounter: Timecounter "clockinterrupt" frequency 100 Hz quality 0
timecounter: Timecounter "mips3_cp0_counter" frequency 125000000 Hz quality 100
wd0 at atabus0 drive 0: <QUANTUM FIREBALL EL7.6A>
wd0: drive supports 16-sector PIO transfers, LBA addressing
wd0: 7339 MB, 15907 cyl, 15 head, 63 sec, 512 bytes/sect x 15032115 sectors
wd0: 32-bit data port
wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 2 (Ultra/33)
wd0(viaide0:0:0): using PIO mode 4, Ultra-DMA mode 2 (Ultra/33) (using DMA)
Kernelized RAIDframe activated
boot device: wd0
root on wd0a dumps on wd0b
root file system type: ffs
smit happens.

:Fuel: bigred, 900MHz R16K, 4GB RAM, V12 DCD, 6.5.30
:Indy: indy, 150MHz R4400SC, 256MB RAM, XL24, 6.5.10
:Indigo2IMP: purplehaze, 175MHz R10000, Solid IMPACT
probably posted from Image bruce, Quad 2.5GHz PowerPC 970MP, 16GB RAM, Mac OS X 10.4.11
plus IBM POWER6 p520 * Apple Network Server 500 * RDI PrecisionBook * BeBox * Solbourne S3000 * Commodore 128 * many more...

User avatar
johnnym
Donor
Donor
Posts: 88
Joined: Sun Sep 04, 2016 9:53 pm

Re: Cobalt Thread

Unread postby johnnym » Wed Apr 19, 2017 1:48 am

ClassicHasClass wrote:Poking this thread. Over the weekend I sat down with my original MIPS RaQ to try johnnym's suggestion with the load resistor, except that while trying to rehabilitate the board I ended up snapping the battery off.

Same here, except I did that with the battery of my CacheRaQ 2 (I believe). I think there was too less solder used originally during manufacturing.

EDIT: Added Link to the post describing the load resistor, as it is located in a different forum and maybe hard to find for people that didn't follow the discussion.

ClassicHasClass wrote:That shouldn't be a hard fix but I just ended up saying eff it and sticking the hard disk into a RaQ 2 I had bought as a spare and grabbing the biggest RAM sticks I could. Wow, is the RaQ 2 so much zippier than the original RaQ!

The L1 caches are twice the size in the RM5231 compared to the RM5230 of RaQ and Qube and maybe the sytem bus was also clocked higher in the RaQ 2 - but I don't know, I just read that it was possible with the RM5231. And it has an extra 100 MHz (250 MHz instead of 150 MHz). Sadly they didn't add an L2 cache, which could have sped things up even further.

ClassicHasClass wrote:And having 144MB instead of 32MB certainly doesn't hurt. Here's the NetBSD dmesg on it now:

Code: Select all

Cobalt RaQ 2
total memory = 144 MB
avail memory = 136 MB
timecounter: Timecounters tick every 10.000 msec
mainbus0 (root)
com0 at mainbus0 addr 0x1c800000 level 3: st16650a, working fifo
com0: console
cpu0 at mainbus0: QED RM5200 CPU (0x28a0) Rev. 10.0 with built-in FPU Rev. 10.0
cpu0: 32KB/32B 2-way set-associative L1 Instruction cache, 48 TLB entries
cpu0: 32KB/32B 2-way set-associative write-back L1 Data cache
[...]

Now that's cool! Which version do you use currently? I'd like to have NetBSD on my MIPS based Cobalt machines, too. I yesterday checked the boot(1) manpage to see how one could enable full diskless operation with NetBSD. So how do you boot NetBSD on your RaQ 2? Do you load the NetBSD kernel directly from disk or via the NetBSD boot loader?
:Indy: :O2: :Octane: :Octane2: :O200: = :O200: - :O200: = :O200: (O200 cluster w/2 GIGAchannel cabinets)
[ ( hp ) ] c3000 (dead) c3700 c3750 c8000 :hpserv: (J5600) rp2470 :rx2600: (rx2620) rx4640
| d | i | g | i | t | a | l | AXPpci33 AlphaStation 200 4/166 AlphaStation 255 300 Personal Workstation 500au AlphaServer DS20E
C O B A L T Qube 2 Qube 3 RaQ RaQ 2 RaQ 4r RaQ XTR

User avatar
ClassicHasClass
Donor
Donor
Posts: 1904
Joined: Wed Jul 25, 2012 7:12 pm
Location: Sunny So Cal
Contact:

Re: Cobalt Thread

Unread postby ClassicHasClass » Wed Apr 19, 2017 4:30 am

It boots from the disk. The easiest way is an install CD that's floating around which may be on ftp.netbsd.org somewhere. It needs an i386 system (I used an old Mac mini); you connect your MIPS RaQ to it and it does all the installation for you. I don't know if it's been updated for NetBSD 7.0. It supports all MIPS RaQs and Qubes, I believe.
smit happens.

:Fuel: bigred, 900MHz R16K, 4GB RAM, V12 DCD, 6.5.30
:Indy: indy, 150MHz R4400SC, 256MB RAM, XL24, 6.5.10
:Indigo2IMP: purplehaze, 175MHz R10000, Solid IMPACT
probably posted from Image bruce, Quad 2.5GHz PowerPC 970MP, 16GB RAM, Mac OS X 10.4.11
plus IBM POWER6 p520 * Apple Network Server 500 * RDI PrecisionBook * BeBox * Solbourne S3000 * Commodore 128 * many more...


Return to “Miscellaneous Operating Systems/Hardware”

Who is online

Users browsing this forum: No registered users and 1 guest