Chelsio T6225-CR has arrived

Boot messages for stable/11:

t6nex0: <Chelsio T6225-CR> mem 0xfac80000-0xfacfffff,0xf9000000-0xf9ffffff,0xfaff6000-0xfaff7fff irq 16 at device 0.4 on pci6
t6nex0: firmware on card ( is older than the version bundled with this driver, installing firmware on card.
cc0: <port 0> on t6nex0
cc0: Ethernet address: 00:07:43:XX:XX:X0
cc0: 4 txq, 4 rxq (NIC); 4 txq, 2 rxq (TOE)
cc1: <port 1> on t6nex0
cc1: Ethernet address: 00:07:43:XX:XX:X8
cc1: 4 txq, 4 rxq (NIC); 4 txq, 2 rxq (TOE)
t6nex0: PCIe gen2 x4, 2 ports, 14 MSI-X interrupts, 31 eq, 13 iq
pci6: <mass storage, SCSI> at device 0.5 (no driver attached)
pci6: <serial bus, Fibre Channel> at device 0.6 (no driver attached)

Output from ifconfig:

cc0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
        ether 00:07:43:XX:XX:X0
        hwaddr 00:07:43:XX:XX:X0
        media: Ethernet 25GBase-SR <full-duplex,rxpause,txpause>
        status: no carrier
cc1: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
        ether 00:07:43:XX:XX:X8
        hwaddr 00:07:43:XX:XX:X8
        media: Ethernet 25GBase-SR <full-duplex,rxpause,txpause>
        status: no carrier

None of the ports are connected. I’m waiting for SFP+ modules to arrive.


BTW. The Gutenberg Editor for WordPress is a nightmare in conjunction with the SyntaxHighlighter plugin. I went back to the Classic Editor which gives me far more control.

Chelsio T6225-CR and SM25G-SR

I recently ordered a Chelsio T6225-CR network interface card and a couple of SM25G-SR SFP28 optical modules.

The aim is to get a 10 Gbit/s connection to the LAN, utilise the off-load capabilities of the NIC, and of course utilise the on-board crypto accelerator. The latter will not be useable until the system moves to the upcoming stable/12 branch.

Speaking of stable/12, I look forward to encrypted crash dumps and linear ZFS scrubbing.

I hope both OpenSSH and OpenSSL will be able to use the crypto accelerator by ways of crypto(4). Imagine a crypto speed in excess of 30 Gbit/s. That’s pretty neat. If all goes well, another T6225-CR may find its way to a VPN router.

Migrating UFS filesystem from one disk to another

I needed to migrate an UFS filesystem from one disk to another. I had several options including using two tar processes in a pipeline or using dump and restore in a pipeline. I opted for the latter to make sure everything got preserved during the transfer.

Here’s the sequence of commands where /dev/gpt/nroot0 is the GPT label of the new filesystem and / is the donor filesystem:

newfs /dev/gpt/nroot0
mount /dev/gpt/nroot0 /mnt
cd /mnt
rmdir .snap
dump -0LaP 'restore -rf -' /
cd /
umount /mnt

Micro Focus (Novell) iPrint on Windows 7

I need to remind myself of running the IPP webpage in compatiblity mode in IE11 when installing printers.

Even if you specify ipp.FQDN, IE11 will kindly enter your FQDN into the list of domain names to show in compatibility mode. Remember to remove FQDN from that list when you’re done.

iPrint client 5.99 seems to be the last of its kind. From now on, iPrint is an appliance. Maybe it’s time to leave Novell and their products for good.

Connecting to guest-access allowed, readonly Samba shares

Sometimes security is on the border of being ridiculous. Modern Windows 10 is very anxious when connecting to guest-access allowed, readonly Samba shares, Here’s how to allow “insecure” guest logons for stand-alone computers. The same is true when configuring a GPO.

efi_max_resolution needed on base/head for UEFI systems without FHD displays

r331464 added efi_max_resolution. If you run base/head on monitors without Full HD (FHD), then you might need to specify your desired resolution in /boot/loader.conf.

This should suffice for a resolution of 1280×1024 on 19 inches displays.


Kernel panic due to memory corruption

This is what a kernel panic may look like when facing memory corruption.

kernel: panic: solaris assert: arc_buf_alloc_impl(hdr, private, compressed_read, 1, &buf) == 0 (0x5 == 0x0), file: /usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c, line: 5318
kernel: cpuid = 1
kernel: KDB: stack backtrace:
kernel: db_trace_self_wrapper() at 0xffffffff8046b52b = db_trace_self_wrapper+0x2b/frame 0xfffffe0122681380
kernel: vpanic() at 0xffffffff806c5ba6 = vpanic+0x186/frame 0xfffffe0122681400
kernel: panic() at 0xffffffff806c5a13 = panic+0x43/frame 0xfffffe0122681460
kernel: assfail3() at 0xffffffff8030987c = assfail3+0x2c/frame 0xfffffe0122681480
kernel: arc_read() at 0xffffffff80322ddc = arc_read+0x83c/frame 0xfffffe0122681510
kernel: dbuf_read() at 0xffffffff8032e918 = dbuf_read+0x678/frame 0xfffffe01226815c0
kernel: dmu_buf_hold_array_by_dnode() at 0xffffffff80338bf3 = dmu_buf_hold_array_by_dnode+0x203/frame 0xfffffe0122681630
kernel: dmu_read_uio_dnode() at 0xffffffff8033a167 = dmu_read_uio_dnode+0x37/frame 0xfffffe01226816a0
kernel: dmu_read_uio_dbuf() at 0xffffffff8033a10b = dmu_read_uio_dbuf+0x3b/frame 0xfffffe01226816d0
kernel: zfs_freebsd_read() at 0xffffffff803d7e80 = zfs_freebsd_read+0x660/frame 0xfffffe0122681780
kernel: VOP_READ_APV() at 0xffffffff80a7b77c = VOP_READ_APV+0x7c/frame 0xfffffe01226817b0
kernel: vn_read() at 0xffffffff807a0815 = vn_read+0x195/frame 0xfffffe0122681830
kernel: vn_io_fault1() at 0xffffffff8079e4e9 = vn_io_fault1+0x169/frame 0xfffffe0122681970
kernel: vn_io_fault() at 0xffffffff8079c6ac = vn_io_fault+0x18c/frame 0xfffffe01226819e0
kernel: dofileread() at 0xffffffff807291aa = dofileread+0xba/frame 0xfffffe0122681a20
kernel: kern_readv() at 0xffffffff80728db8 = kern_readv+0x68/frame 0xfffffe0122681a70
kernel: sys_read() at 0xffffffff80728d46 = sys_read+0x86/frame 0xfffffe0122681ac0
kernel: amd64_syscall() at 0xffffffff809d5f18 = amd64_syscall+0xa38/frame 0xfffffe0122681bf0
kernel: fast_syscall_common() at 

Upgrading XenServer 7.1 to 7.3 via 7.2

It’s winter break, giving me time to bring systems down for their much needed maintenance. One of my tasks was to upgrade our XenServers. They’re not joined to the same pool for historical reasons. One of them is close to 8 years old, the other one is fairly new. For the first server I chose to reboot into the hypervisor after upgrading to 7.2, before upgrading to 7.3. A wise choice. Just for the fun of it, I chose not to reboot into the hypervisor on the second server between 7.2 and 7.3. This left me with the choice of restoring the old 7.1 version or performing a clean reinstall of 7.3. Neither option was inviting, so I had to reboot into the hypervisor prior to upgrading to 7.3. Lesson learned.

The irony of this story is that XenServer 7.4 was released two days ago. Luckily, I can use the new update feature and save me a trip to the server room.