PC-BSD now has a hardware store, with equipment known to work under PC-BSD. Chances are good that if it works for PC-BSD, it’ll work for other BSDs or could be ported to do so… (via)
Category: Device support
tpm(4) module added
The tpm(4) driver has been added by Sascha Wildner, ported from FreeBSD. What’s it do?
From the man page: “The tpm driver provides support for various trusted platform modules (TPM) that can store cryptographic keys.” Crypto keys stored in hardware, where they are in theory unmangleable, instead of on the disk. At least, that’s my impression after 30 seconds of research.
More IP forwarding performance
Sepherosa Ziehau has posted some numbers showing improvements in ip forwarding rates. He’s done this before, except this time it’s with bnx(4), probably because of his recent commits.
sili(4) testers needed
If you have a sili(4) device, Francois Tigeot needs you to run a particular patch and tell him what happens. He’s testing a larger I/O request size, and wants to see how it will work out “in the field”.
i386 end-of-life appears on the horizon
John Marino brought up a point every operating system project will have to think about: when does support for i386 (i.e. 32-bit x86 processors) stop? Follow the thread for details. There’s no final answer, yet.
SSD/swapcache note
Matthew Dillon wrote a note about SSDs, HDDs, and swapcache that may be useful for anyone building a system soon. Conversations about SSDs, swapcache, and so on have happened before.
USB4BSD: not yet
The upcoming DragonFly 3.4 release will not include the USB4BSD port from Markus Pfeiffer; he’s hoping for it to become default in the next release after 3.4.
You can still try it, as it’s present in DragonFly but not on by default. Help with driver porting is always welcome, of course.
mfi(4) users and foreign configs
If you have a mfi(4) device – in other words, a LSI MegaRAID SAS driver – you can now see/import/clear/etc. foreign configurations, thanks to this commit from Sascha Wildner, tested by Francois Tigeot, and originally from FreeBSD.
For the confused, ‘foreign’ means any disk hooked to a RAID controller that isn’t part of a configuration the RAID device already knows about. A replacement disk, or more worryingly, a good disk gone bad/unrecognizable. (I’ve had both.)
Do you have a wpi(4) or iwi(4) device?
If you have an ath(4), wpi(4) or iwi(4) wireless network link, and you’re running DragonFly-master, please update. Sepherosa Ziehau has pushed Johannes Hoffman’s wlan_serialize branch, which means bringing up wlan0 is a bit easier – and less crashy.
It needs to be tested for wpi(4) and iwi(4), however, so if you have success or failure with those devices, please say so in reply.
(new post category starting now: “Please test”)
Multiple ring support on Broadcom 5709/5716
It seems Sepherosa Ziehau won’t rest until he’s reached peak performance for every network card in DragonFly; he’s added multiple ring/MSI-X support for Broadcom 5709/5716 chipsets in DragonFly. In more concrete terms, this means better speeds when transmitting and receiving multiple streams of data.
(at least, I think so.)
More IP forwarding stats
Sepherosa Ziehau has posted more statistics on his ifnet/ifaddr per-CPU stats work. It’s doing so well that he’s very close to reaching the maximum physical capacity of the 4x gigabit ethernet hardware he’s using.
Comings and goings
Added: Peter Avalos has updated OpenSSL to version 1.0.1d – see the changelog.
Removed: support for ISA sound cards, by Sascha Wildner. Goodbye sb16; I’ll remember you fondly.
Multiple TX queue support for emx(4), sort of
The emx(4) driver now has support for multiple TX queues, but it’s not on by default. There’s scenarios where multiple queues work out with that hardware, but you have to be sure you are actually in the right setup for that first. Check Sepherosa Ziehau’s commit message for the details.
Intel network chipset improvements
Sepherosa Ziehau has merged the hardware abstraction layer (HAL) for em(4) and igb(4), along with updating em(4)/emx(4) to version 7.3.4 and igb(4) to version 2.3.7.
Multiple transmit queue work results
Sepherosa Ziehau has posted a detailed message showing the speeds he gets with multiple transmission queues, using igb(4). The short version:
Quick summary, the multiple TX queue support gives me: +200Kpps for 2 bidirectional normal IP forwarding (now 4.40Mpps) +160Kpps for 2 bidirectional fast IP forwarding (now 5.23Mpps)
BSDTalk 222: 8 minutes of tinkering
Will Backman has a new BSDTalk episode up, with a bit of Peter Salus from BSDCan 2011 and a bit of Raspberry Pi on FreeBSD.
We need more fiddling-with-BSD-on-hardware stuff out there. That would be a good thing for Youtube – hint, hint.
Network fairness changes and what they mean
Sepherosa Ziehau makes commits almost daily to DragonFly’s network infrastructure, but I have a hard time quantifying it into Digest posts in part because it’s often very technical. His most recent commits come with an explanation, however. He has done plenty of work to improve overall transmission speeds in DragonFly, and now he’s working on ‘fairness’. Fair, in this case, means ensuring that packet transmitting and receiving happen without either one monopolizing the connection. In real world terms, this translates to much more constant speeds. His recent commit details what he’s doing and some numbers to prove it.
Remember I said he’s improved speeds? Note that in his example, he’s reaching stable peaks of 981 Mbps. This is on a line that I assume theoretically maxes out at 1000.
HAMMER best practices, and RAID
Dave Hayes asked for some “best practices” ideas for setting up a HAMMER (1) system. I replied, and the conversation turned to RAID, as these often do. If you’re thinking of purchasing disk hardware in the near future, this will be useful to you.
Virtio and virtio-block drivers added
Venkatesh Srinivas and Tim Bisson have been working for some time on a port of FreeBSD’s virtio and virtio-block drivers. (see man page commit) They’ve now been committed. This should make your virtual disk perform better, if nothing else.
AVX support added to DragonFly
Adam Sakareassen submitted a patch for AVX support for 64-bit DragonFly, and Alex Hornung has committed it. If you’re like me and have only the vaguest idea what AVX is, it’s a set of processor instructions added by Intel to Sandy Bridge and later CPUs.
IFQ packet staging mechanism added
I’m not sure what IFQ stands for, but Sepherosa Ziehau’s added it. It appears to be based on an idea from Luigi Rizzo called ‘netmap‘. In this case, network packets are grouped together before being placed onto the network interface’s hardware queue. That means better packet per second performance without a corresponding increase in CPU usage, as Sepherosa Ziehau’s report lists, along with needed sysctls.
IP Forwarding Performance
Sepherosa Ziehau has been making a lot of commits to increase packet-per-second rates without increasing CPU usage. He’s published a sort of progress report/benchmark to show current performance levels. It sounds like he’s expecting even better performance in the future, though I’m not sure how much more he could push out of it, since the bulk performance appears to be close to the rated capacity of the copper…
More HighPoint support
Sascha Wildner recently brought in support from FreeBSD for HighPoint’s RocketRAID 4520 and 4522 SAS/SATA RAID cards. It’s in the hptiop(4) driver.
SMBIOS access now possible
Sascha Wildner has added system management BIOS (SMBIOS) support, visible with kenv, from FreeBSD. Use it for getting things like the BIOS revision, system manufacturer, and so on. For example:
smbios.bios.reldate="12/04/2006" smbios.bios.vendor="Dell Inc. " smbios.bios.version="2.1.0 "
This may seem minor, but this can be very helpful when dealing with hardware you aren’t physically able to access.
MSI-X for the masses
Sepherosa Ziehau is switching a number of network cards over to use ifpoll, which means they will have capabilities similar to MSI-X, even if the network card doesn’t support it. My suspicion is that it will make these cards perform better in busy situation where they would otherwise get bogged down… but that’s based on hunch rather than empirical testing. As Sepherosa Ziehau pointed out, it certainly can’t hurt.
BSD Magazine for November 2012
November’s PDF issue of BSD Magazine is out, with a number of articles including a hardware review of the Netgear Universal Wifi Adapter. We need more BSD-centric device testing.
Major USB update arrives
Sascha Wildner has committed Markus Pfeiffer’s port of USB4BSD to DragonFly. USB network, input , audio, and storage devices (including xhci/USB3 items) may work, though there’s no guarantee for each driver. This is added but not on by default, so see the first link for instructions on how to rebuild your kernel to use it. This will be in (but not default) the DragonFly 3.2 release.
(This is shaping up to be a much bigger release than I anticipated!)
Areca updates
Sascha Wildner’s added updatesfrom FreeBSD for the Areca arcmsr(4) driver; specifically for the ARC-1213, ARC-1223 and ARC-1882 models.
Notes on smartmontools
Smartmontools will catch impending disk failures about 2/3 of the time, so it’s useful to run it and interpret the results. The results can be somewhat complex, though. However, it can be useful to look at other people talking about the output and glean knowledge from the context.
Do you have an ixbge(4)?
If you are using an Intel 10G Ethernet card with a 82598GB chipset, you’re using ixgbe(4). You may want to set the net.inet.tcp.sosend_agglim sysctl to a value over 12 in certain circumstances, as described by Francois Tigeot.
Porting drivers, for future reference
Much of this new document has been around in other forms for a while, but now, there’s a brief guide on porting drivers to DragonFly in the source tree.
Do you have a SSD yet?
Because here’s some recommendations on good models, and here’s a way to check SSD health. Seriously, they’re great.
LSI users, take note
If you have a LSI RAID card, meaning you are using the mfi(4) driver, Sascha Wildner has added /proc/devices to linprocfs, so that LSI’s MegaCLI configuration utility will run.
Is your battery smart?
Sascha Wildner has pushed smart battery support, based on a patch from Dmitry Komissaroff and FreeBSD. He asks people to try it out. It apparently provides for more accurate battery charge level readings?
Vendor support is always nice
I noticed that this recent commit from Sepherosa Ziehau is a bug fix for jme(4). The commit thanks a JMicron employee for help. It’s always appreciated when a vendor is helpful to an open-source project for hardware support. It’s also something you should consider the next time you are shopping for computer parts.
Some more networking chipset updates
Francois Tigeot has updated the ixgbe(4) driver, and Sepherosa Ziehau has added TSO support for bce(4) and additional bge(4) related chips, mostly from the FreeBSD drivers.
alc(4) now works better, faster
Sepherosa Ziehau has added MSI support and cleaned up the alc(4) driver. If you’re using a network card with the Atheros AR8131 or AR8132 chipsets, you should see an improvement.
More RocketRAID support
Sascha Wildner has ported over more RocketRaid support, in the form of PCI IDs for various 4xxx and 3xxx series cards for hptiop(4), and a hpt27xx(4) driver that supports even more hardware.
Another SSD conversation
Pierre Abbat is curious about using Hammer on an SSD. The discussion that came from that has some useful points, including notes that a straightforward SSD as disk works for most anything with Hammer other than very intensive database use, due to the history retention. If space is an issue, swapcache on the SSD and attaching a normal HDD is a fine alternative. A SSD with Hammer can leave some features off, though I’d argue that dedup is totally worth is. Also, SSD speed is directly correlated with size.
More HighPoint RocketRAID support
Sascha Wildner’s added support (from FreeBSD) for the HighPoint RocketRAID 17xx, 22xx, 23xx and 25xx, via the hptrr(4) driver.
TCP Segmentation Offloading added
Sepherosa Ziehau’s added TSO support (that’s TCP Segmentation Offloading”, or “Large Segment Offload” going by Wikipedia) within IPv4 on DragonFly, pushing segmentation work from the CPU to the network card. There’s also some DragonFly-specific improvements.
There’s been a lot of commits from him lately focused around network card improvements; they haven’t been easily summarizable, but it’s worth watching if you are interested in high-bandwidth usage and the hardware to support it.
ciss(4) updates
The ciss(4) device, if you don’t know offhand, is for a variety of SCSI-3 adapters – mostly ones labeled “HP Smart Array”. Sascha Wildner has imported a large number of driver updates from FreeBSD.
A note for Atom CPU users
Not all flavors of Atom CPU support frequency scaling, as Sven Gaerner found out. This means more heat and more power usage. There’s further details scattered through the thread, but Sascha Wildner found what seems to be the definitive answer of which variants do and do not.
Even more Broadcom
Thanks to David Christensen of Broadcom, Sepherosa Ziehau was able to add BCM5718 and BCM57785 support in the new bnx(4) driver.
Visible capacitor failures
From a thread on users@, I bring you Visible Capacitor Failures. If the problems pictured are new to you… trust me, you will see them up close someday.
More than you may want to know about BIOSes and partitioning
Someone trying DragonFly couldn’t get it to start, and appeared to have a confused disk. It looks like the system BIOS were at fault, and Matt Dillon has an explanation of this minefield. (Including some comments on 4k physical disk sectors.)
igb(4) and MSI-X
Sepherosa Ziehau has added MSI-X support to igb(4), the Intel PRO/1000 gigabit network card. What does that mean? The commit message mentions a default transmit rate of 1.48Mpps small packets, which is good?
Hardware reports given out
New company Gainframe is offering up OpenBSD dmesg/pcidump/usbdevs output for every system they build. I was originally going to link to this in a Lazy Reading entry, but then I realized it’s also a new company specializing in BSD-compatible hardware. Read the interview; I met Michael Dexter at the last NYCBSDCon and he is a decent guy.
We need more of this sort of specifically targeted work. Sites that rely on crowd-sourced contribution are good, but it’s not necessarily comprehensive, and you need a very large crowd for it to work.
ixgbe(4) added
Francois Tigeot has added the Intel PRO/10GbE driver from FreeBSD, or ixgbe(4). A couple features are turned off, for now.
igb(4) added
Sepherosa Ziehau has added igb(4) version 2.2.3 direct from Intel, for support of their 82575 and 82576 Ethernet controller chips. It now shares a hardware abstraction layer with the em(4) driver, too.
“Level/low” USB fix
If you are having USB issues on boot with DragonFly, Sepherosa Ziehau’s sysctl suggestions may help you.
BSDTalk 213: Paul Schenkeveld and EuroBSDCon
BSDTalk 213 is out, with 14 minutes of conversation with Paul Schenkeveld about EuroBSDCon. EuroBSDCon is happening in late October, in Poland. Also, the BSDTalk website has a new layout.
Virtio drivers, an explanation
Venkatesh Srinivas posted an explanation of the virtio update he’s working on. I linked to the work before, but not his explanation, which goes into the ‘vm_balloon’ device.
Update, Asus G2K users
Sascha Wildner’s posted an update to the acpi_asus(4) module, so it’s worth updating if you have an appropriate Asus machine and are running DragonFly-current.
Virtual IO drivers status
Venkatesh Srinivas has been working on integration of Tim Bisson’s virtio-bhyve drivers into DragonFly. This would make throughput better in KVM/Qemu. His bug ticket has some questions that could use answers.
ichwd(4) added, watchdog watches
Francois Tigeot has added ichwd(4), a driver for the watchdog function on some Intel ICH motherboard chipsets. Sascha Wildner has also made the kernel option for it on by default. (Look for /dev/wdog.)
Update: Francois Tigeot sent a link to an excellent page explaining hardware watchdogs.
em(4) update
Sepherosa Ziehau has updated the em(4) driver from Intel; it only matters if you are using the specific chipsets mentioned in the commit message.
Have Areca RAID? Now you can use MSI
Thanks to Sascha Wildner, the Areca RAID controller driver, arcmsr(4), now supports MSI. It should only make things better, but if it doesn’t, you can turn it off.
mfi(4) updated
Sascha Wildner has updated mfi(4), the LSI MegaRAID SAS driver , via FreeBSD and LSI. SAS2208-based controllers are now supported.
Fixing X video performance
I’ve seen a few people complain about poor video performance in DragonFly, in Xorg. If you see a bunch of ”contigmalloc_map: failed …” errors in your dmesg, your video card needs more contiguous memory allocated. Set vm.dma_reserved to 32M in /boot/loader.conf and you should be set. If that doesn’t work, try 64M.
DragonFly and a Mac
Carsten Mattner wrote out his notes on EFI booting on a Mac. This gets you closer to booting DragonFly on there, but I don’t think it is completely working yet.
Update: Carsten Mattner has a better summation than what I wrote.
Do you have an HP laptop?
If you do, acpi_hp could use some testing. Sascha Wildner just brought some improvements in for that module. I’ve seen discounted HP laptops show up in various places, recently.
All that work, vindicated
Notice how the 2.12 release never really happened, and 3.0 came out about 6 months later than usual? A lot of that delay was caused by a vigorous search for a weird bug. Multi-threaded buildworlds would crash, seemingly randomly and rarely. It turns out we have confirmation from AMD that it is, indeed, a CPU hardware bug.
How low can you go, with RAM?
Is it possible to boot with only 48M of RAM in a DragonFly system? Probably not. 128M would be better. I usually talk about the lower memory limit for Hammer, since it’s so relatively low for a snapshotting file system, but the converse applies here. 128M is probably the comfortable lower limit, though it’s pretty hard to find a system that would limit you that way without doing it on purpose. 128M sticks of RAM are practically disposable these days, really.
Random numbers on nonexistent chips
Alex Hornung added support for rdrand(4), the random number generator built into some Intel CPUs. That would be Ivy Bridge CPUs, which aren’t released yet, so it hasn’t been tested… but you’re covered for that day in the future when they arrive.
mps(4) updated
Sascha Wildner has brought in improvements to the mps(4)driver from FreeBSD. It’s for LSI Logic Fusion-MPT 2 SAS controllers, and apparently didn’t work very well… until now. Sascha’s commit message details what’s new, including RAID support that is not yet mentioned in the man page.
Odd DVD drive issue
Edward Berger found that using a LG/Hitachi DVD drive kept him from successfully booting a DragonFly install CD. Using other manufacturers worked out fine. What causes the problem? I don’t know, but it’s worth mentioning it out loud in case someone else gets bit by it.
Setting up a DragonFly wireless access point
What if you have a DragonFly system that you want to use for an wireless access point? Andrey N. Oktyabrski did, and he helpfully listed his solution.
Things that have been updated
I need to catch up on some older stuff, so here is a longer list of recent updates: libarchive to 3.0.2, xz to 5.0.3, mfi(4) and mfiutil(8) (LSI MegaRAID driver) updated, ATI SB7x0/SB8x0/SB9x0 AHCI devices (on motherboards I assume) updated, and the PHY ID for the Atheros F1 added. Thanks to everyone who did the work! I bet I missed something.
Better MSI support
That’s Managed System Interrupts, for when your hardware is passing a lot of data and generating a lot of corresponding hardware interrupts. MSI is what deals with all that traffic. High-bandwidth (10G) network cards, for instance. Anyway, Sepherosa Ziehau’s made more commits than what I’m linking to here, for support with various devices.
There’s many other MSIs out there, oddly enough.
New ECC device
Sepherosa Ziehau has added updated the ‘ecc’ device, for Intel E3-1200 series systems. What’s it do? It will report on memory errors, and potentially fix them.
You should have ECC memory in your server already. If not, you oughta.
Update: as Sascha Wildner pointed out, ecc(4) already existed, but didn’t support Intel controllers. Also, the Xeon X3400 series is supported now too.
Remember rcrun?
I think a lot of people don’t realize rcrun exists, and run files in /etc/rc.d directly. If you’re one of those people, read the rcrun(8) manpage. Then, notice that Sascha Wildner has extended rcrun to work with the etc/rc.d in /usr/local and /usr/pkg too.
Video and USB fix
Matthew Dillon has written a contiguous memory mapper, which is designed to fix problems with video cards and USB drives that need a big chunk of memory to keep. This can affect booting or later on, when disconnecting/reconnecting a USB drive. If this still doesn’t fix the problem for you, try adjusting the sysctl ‘vm.dma_reserved’ to something bigger, like 64M. It defaults to 16M.
(Normal mailarchive isn’t updating because of an ongoing upgrade to crater.dragonflybsd.org – sorry!)
Do you have a Geode? Well, good news!
John Marino added tuning support within GCC 4.4 for the Geode CPU. Waaaay back when, these were x86 -compatible Cyrix chips. Nowadays I think they are most common in single-board computers.