hubertf's NetBSD Blog
Send interesting links to hubert at feyrer dot de!
[20151126] Wireless, finally - with NetBSD on my Raspberry Pi
I've (literally) coughed up some time to play with my RPI2 the last few days, and I finally got it working with my LogiLink RALINK RA5370 USB-WiFi dongle. Patches are thanks to rjs@, and this gets the machine into a state that I think it's useful to start toying with GPIO and I2C.

For a start, src/share/examples/wpa_supplicant/wpa_supplicand.conf now has an example for a WPA network with no SSID broadcast.

For kicks, here's the full dmesg output:

Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
    2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015
    The NetBSD Foundation, Inc.  All rights reserved.
Copyright (c) 1982, 1986, 1989, 1991, 1993
    The Regents of the University of California.  All rights reserved.

NetBSD 7.99.21 (RPI2) #14: Thu Nov 26 01:36:58 CET 2015
total memory = 944 MB
avail memory = 925 MB
sysctl_createv: sysctl_create(machine_arch) returned 17
timecounter: Timecounters tick every 10.000 msec
mainbus0 (root)
cpu0 at mainbus0 core 0: 600 MHz Cortex-A7 r0p5 (Cortex V7A core)
cpu0: DC enabled IC enabled WB disabled EABT branch prediction enabled
cpu0: 32KB/32B 2-way L1 VIPT Instruction cache
cpu0: 32KB/64B 4-way write-back-locking-C L1 PIPT Data cache
cpu0: 512KB/64B 8-way write-through L2 PIPT Unified cache
vfp0 at cpu0: NEON MPE (VFP 3.0+), rounding, NaN propagation, denormals
cpu1 at mainbus0 core 1
cpu2 at mainbus0 core 2
cpu3 at mainbus0 core 3
obio0 at mainbus0
bcmicu0 at obio0: Multiprocessor
armgtmr0 at obio0: ARMv7 Generic 64-bit Timer (19200 kHz)
armgtmr0: interrupting on irq 3
timecounter: Timecounter "armgtmr0" frequency 19200000 Hz quality 500
bcmmbox0 at obio0 intr 193: VC mailbox
vcmbox0 at bcmmbox0
vchiq0 at obio0 intr 194: BCM2835 VCHIQ
bcmpm0 at obio0: Power management, Reset and Watchdog controller
bcmdmac0 at obio0: DMA0 DMA2 DMA4 DMA5 DMA8 DMA9 DMA10
bcmrng0 at obio0: RNG
plcom0 at obio0 intr 185
plcom0: txfifo disabled
plcom0: console
genfb0 at obio0
genfb0: framebuffer at 0x3d876000, size 1280x720, depth 32, stride 5120
wsdisplay0 at genfb0 kbdmux 1
wsmux1: connecting to wsdisplay0
wsdisplay0: screen 0-3 added (default, vt100 emulation)
sdhc0 at obio0 intr 190: SDHC controller
sdhc0: interrupting on intr 190
dwctwo0 at obio0 intr 137: USB controller
bcmspi0 at obio0 intr 182: SPI
spi0 at bcmspi0: SPI bus
bsciic0 at obio0 intr 181: BSC0
iic0 at bsciic0: I2C bus
bsciic1 at obio0 intr 181: BSC1
iic1 at bsciic1: I2C bus
bcmgpio0 at obio0: GPIO [0...31]
gpio0 at bcmgpio0: 32 pins
bcmgpio1 at obio0: GPIO [32...53]
gpio1 at bcmgpio1: 22 pins
bcmcm at obio0 not configured
bcmpwm at obio0 not configured
usb0 at dwctwo0: USB revision 2.0
timecounter: Timecounter "clockinterrupt" frequency 100 Hz quality 0
cpu3: 600 MHz Cortex-A7 r0p5 (Cortex V7A core)
cpu3: DC enabled IC enabled WB disabled EABT branch prediction enabled
cpu3: 32KB/32B 2-way L1 VIPT Instruction cache
cpu3: 32KB/64B 4-way write-back-locking-C L1 PIPT Data cache
cpu3: 512KB/64B 8-way write-through L2 PIPT Unified cache
vfp3 at cpu3: NEON MPE (VFP 3.0+), rounding, NaN propagation, denormals
cpu2: 600 MHz Cortex-A7 r0p5 (Cortex V7A core)
cpu2: DC enabled IC enabled WB disabled EABT branch prediction enabled
cpu2: 32KB/32B 2-way L1 VIPT Instruction cache
cpu2: 32KB/64B 4-way write-back-locking-C L1 PIPT Data cache
cpu2: 512KB/64B 8-way write-through L2 PIPT Unified cache
vfp2 at cpu2: NEON MPE (VFP 3.0+), rounding, NaN propagation, denormals
cpu1: 600 MHz Cortex-A7 r0p5 (Cortex V7A core)
cpu1: DC enabled IC enabled WB disabled EABT branch prediction enabled
cpu1: 32KB/32B 2-way L1 VIPT Instruction cache
cpu1: 32KB/64B 4-way write-back-locking-C L1 PIPT Data cache
cpu1: 512KB/64B 8-way write-through L2 PIPT Unified cache
vfp1 at cpu1: NEON MPE (VFP 3.0+), rounding, NaN propagation, denormals
sdhc0: SDHC 3.0, rev 153, platform DMA, 250000 kHz, HS SDR50 3.3V, re-tuning mode 1, 1024 byte blocks
sdmmc0 at sdhc0 slot 0
uhub0 at usb0: vendor 0000 DWC2 root hub, class 9/0, rev 2.00/1.00, addr 1
uhub0: 1 port with 1 removable, self powered
IPsec: Initialized Security Association Processing.
ld0 at sdmmc0: <0x03:0x5344:SU16G:0x80:0x000dd697:0x0f1>
ld0: 15193 MB, 7717 cyl, 64 head, 63 sec, 512 bytes/sect x 31116288 sectors
ld0: 4-bit width, SDR50, 100.000 MHz
uhub1 at uhub0 port 1: vendor 0424 product 9514, class 9/0, rev 2.00/2.00, addr 2
uhub1: multiple transaction translators
uhub1: 5 ports with 4 removable, self powered
usmsc0 at uhub1 port 1
usmsc0: vendor 0424 product ec00, rev 2.00/2.00, addr 3
usmsc0: Ethernet address b8:27:eb:b9:ca:25
ukphy0 at usmsc0 phy 1: OUI 0x00800f, model 0x000c, rev. 3
ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
run0 at uhub1 port 2
run0: Ralink 802.11 n WLAN, rev 2.00/1.01, addr 4
run0: MAC/BBP RT5390 (rev 0x0502), RF RT5370 (MIMO 1T1R), address 7c:dd:90:3f:54:00
run0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps
run0: 11g rates: 1Mbps 2Mbps 5.5Mbps 11Mbps 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
boot device: ld0
root on ld0a dumps on ld0b
root file system type: ffs
vchiq: local ver 6 (min 3), remote ver 6.
vcaudio0 at vchiq0: auds
WARNING: no TOD clock present
WARNING: using filesystem time
audio0 at vcaudio0: half duplex, playback, capture, independent
wsdisplay0: screen 4 added (default, vt100 emulation)

[Tags: , , ]

[20151017] The people behind NetBSD - Seven Interviews for NetBSD 7.0
Surrounding the release of NetBSD 7.0, polish BSD news site Sektor BSD has published a number of interviews with NetBSD developers. Now that the release-dust has settled a bit, here is a list of all the interviews to learn more about the people bringing NetBSD 7.0 to you, in no particular order:

All developers have their unique background, and are working passionately on their own specific areas. As free, non-commercial Open Source project, NetBSD always depends on individuals devoting their time for the cause. It is this devotion and enthusiasm that makes NetBSD - and all of Open Source, really - such a great thing.

If you feel like getting involved, run NetBSD, subscribe to our mailing lists to become part of our community, and have a look at our projects page. Particular areas that are always welcome for contributions are code and documentation, but there is much more. Have a look!

[Tags: , ]

[20151009] NetBSD 7.0 is released
The NetBSD Project is pleased to announce NetBSD 7.0, the fifteenth major release of the NetBSD operating system. The last release is quite some time ago, but given a philosophy of "it is ready when it is ready" and the amount of work that went into it, this is a very good reason to celebrate!

See the official release announcement for a long list of hilights and harder to notice changes.

Also, there is an article on What to expect in NetBSD 7 which also describes many of the new features, changes and bugfixes in NetBSD 7.

[Tags: ]

[20151008] Interview with Jeff Rizzo on NetBSD 7.0
The polish Sektor BSD page has an interview with Jeff Rizzo on NetBSD 7.0 online. With the NetBSD 7.0 release around the corner, this is good timing!

The interview is available in both english and polish language, and starts off a series of NetBSD-related interviews. Have a look!

[Tags: ]

[20150929] Of course it runs ... pkgsrc - NASA's Pleiades Supercomputer
This one flew by on twitter, thanks to imil: NASA uses pkgsrc on their Pleiades supercomputer.

Quoting from the NASA page, ``Pleiades, one of the world's most powerful supercomputers, represents NASA's state-of-the-art technology for meeting the agency's supercomputing requirements, enabling NASA scientists and engineers to conduct modeling and simulation for NASA missions. This distributed-memory SGI ICE cluster is connected with InfiniBand in a dual-plane hypercube technology.

The system contains the following types of Intel Xeon processors: E5-2680v3 (Haswell), E5-2680v2 (Ivy Bridge), E5-2670 (Sandy Bridge), and X5670 (Westmere). Pleiades is named after the astronomical open star cluster of the same name. ''

The system architecture consists of 163 racks of machines from SGI (still alive!) with Suse Linux as their operating system. Check their page for all the juicy details!

More information on Using Software in the NetBSD Packages Collection (pkgsrc) is available from the NASA Knowledge base.

And you'd think NASA using NetBSD would be the last cool thing they do. :-)

[Tags: , , ]

[20150929] Interview with NetBSD's Christos Zoulas
DragonFly BSD Digest points out that there is an interview with Christos Zoulas available on BSD Talk. The interview is available in mp3 and ogg formats.

Christos us currently a mamber of the boards of directors of the NetBSD Foundation, as well as the foundation's secretary and treasurer. Besides the administrative tasks he has a long history of technical involvement in the project, like the Core group that he is also a member of. Liste to the interview to learn more!

[Tags: , ]

[20150717] Making my RPI serial console work, or: fixing a hardware problem in software
Some time ago I get a Raspberry Pi, but never really got it working: I don't have a HDMI display, and wanted to use the serial console. Unfortunately the "official" RPI-serial-to-USB cable had an annoying effect for me: while I saw output just fine, I wasn't able to type anything! Funny enough, this was not only in NetBSD but also Debian. Which took the blame from NetBSD :) Picture 1 shows the cabling.

So the blame was on the RPI-USB-to-serial cable, and I looked into making my own. I have a standard USB-to-serial adapter, but that one cannot be connected pin-by-pin to the RPI, as they use different voltage levels. While the "standard" serial UART protocol (RS-323) encodes 0s and 1s as 5V and -5V, the RPI uses TTL voltage between 0 and 3.3V - a simple 1:1 connection sounds like a bad idea. Converters like the MAX3232 are available: it connects the TX and RX lines and adjusts the voltage levels. To operate, power and ground are provided by the RPI. After frobbing this together (see picture 2) I found out that - surprise - the problem was not in the cable either, as my home-made cable also did not work for input, only for output.

After some detour (frobbing the image-build process to make me an image that not only has working DHCP and SSH, but that actually let's me log in), I got the crucial hint what was going on:

Having lines for sending and receiving data is nice, but what if one end's receiver is full and wants to signal that? This is called "flow control", and apparently with no lines for that, hardware flow control is not an option. In theory there is a software solution (sending XON/XOFF bytes), which requires equal settings on both sides. Apparently the RPI doesn't do that either, and with the default settings on my NetBSD host to wait for an XON before sending data, things didn't match up - no XON from the RPI, no data going to it. Plain and simple - if you know what's going on.

The fix was easy, and thanks go to Jean-Baka Domelevo Entfellner for the hint: disable flow control in my terminal program (kermit). So with a simple "set flow none", things work like a charm now. Voila, another hardware problem fixed in software! :)

How to look at serial interface parameters from NetBSD? Use the stty(1) command. Here's the default output for my USB-to-serial interface attached to ttyU0:

# stty -f /dev/ttyU0
ispeed 0 baud; ospeed 9600 baud;
lflags: echoe echoke echoctl
oflags: onocr onlret
cflags: cs8 -parenb
The difference is obvious when running the same command while kermit runs with proper settings in a different window:
# stty -f /dev/ttyU0
speed 115200 baud;
lflags: -icanon -isig -iexten -echo echoe echoke echoctl
iflags: -icrnl -ixon -ixany ignbrk ignpar
oflags: -opost onocr onlret
cflags: cs8 -parenb clocal
Not only is the speed different, but most important "-ixon" tells the interface to not wait for an XON on input (iflags) before transmitting data.

For reference sake, here is my .kermitrc that I use:

# cat .kermrc
# Raspberry PI
set carrier-watch off
set line /dev/ttyU0
set flow none                   # disable hardware flow control
set speed 115200
#set speed 9600

Picture 1: The standard RPI-USB-to-serial cable (click to enlarge)
Picture 2: My own USB-to-serial adapter using a MAX3232 chip (click to enlarge)

[Tags: , , , , , , , , , ]

[20150702] NetBSD on NVIDIA Jetson TK1 (Tegra K1)
I'm losing count of all those spiffy ARM systems that NetBSD runs on, but here's a fancy one to take note. Quoting shamelessly from Jared McNeill's email, ``Jetson TK1 is a Tegra K1 (quad core Cortex-A15) development board from NVIDIA. Possibly the fastest ARM board that NetBSD supports now.

Still working on HDMI, and need to track down an issue that prevents eMMC from working (but the SD card slot works fine). The board is also capable of USB3 but for now we have routed the USB ports to the USB2 controller.''

Besides being a nice ARM platform, it should not go unnoticed that besides the quad-core ARM Cortex-A15 CPU, the system also has a NVIDIA Kepler GPU with a whopping 192 CUDA cores. Any takers to get those going with NetBSD?

More information is available on the NVIDIA Jetson TK1 page and NVIDIA's embedded computing developers' site . Also, check out the information on how to buy a Jetson TK1 DevKit. Now who's first to upload their dmesg? :-)

[Tags: , , , ]

[20150702] BSD dmesg collection service
I'm always into serious dmesg pr0n, and apparently there's a hub collecting those that I've missed so far, ran by the fine folks from NYCBUG:

By default it lists the latest submissions of a number of BSD variants, but it's also possible to just get everyone's favourite easily.

To submit a dmesg of NetBSD running on your favourite hardware (or software / virtualization, of course), there is a webpage to add your own dmesg. Also, statistics are available. Check it out!

[Tags: ]

[20150702] New binary releases for NetBSD on Raspberry Pi, including 7.0 RC1
NetBSD runs on many machnes, and the Raspberry Pi is one of them. Getting the stock distribution is not that easy, and to help in getting things going, Jun Ebihara is providing ready-made images for quite some time.

There are images available that are based on the latest development snapshot, NetBSD-curent, and with the NetBSD 7.0 release around the corner, there is also an image based on NetBSD 7.0 Release Candidat 1.

See the NetBSD wiki for many more details, and if you use your RPI for any cool hacks, be sure to let us know!

[Tags: , , , ]

More recent 10 entriesPrevious 10 entries
Disclaimer: All opinion expressed here is purely my own. No responsibility is taken for anything.

Access count: 22475327
Copyright (c) Hubert Feyrer