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.
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
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
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
WARNING: CHECK AND RESET THE DATE!
audio0 at vcaudio0: half duplex, playback, capture, independent
wsdisplay0: screen 4 added (default, vt100 emulation)
[Tags: dmesg, ra5370, raspberrypi]
The people behind NetBSD - Seven Interviews for NetBSD 7.0
Surrounding the release of NetBSD 7.0,
polish BSD news site
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,
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
but there is much more.
Have a look!
[Tags: interview, Release]
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!
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.
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!
Of course it runs ... pkgsrc - NASA's Pleiades Supercomputer
flew by on twitter, thanks to imil:
NASA uses pkgsrc on their Pleiades supercomputer.
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
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: nasa, pkgsrc, pleiades]
Interview with NetBSD's Christos Zoulas
DragonFly BSD Digest
that there is an
interview with Christos Zoulas
The interview is available in
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: bsdtalk, christos]
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
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
How to look at serial interface parameters from NetBSD? Use the
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
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: hardware, hubertf, max3232, raspberrypi, rs323, serial, stty, tty, ucom, usb]
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
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: jetson, nvidia, tegra, tk1]
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),
a webpage to add your own dmesg.
statistics are available.
Check it out!
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.
the NetBSD wiki
for many more details,
and if you use your RPI for any cool hacks, be sure
[Tags: arm, pkgsrc, raspberrypi, Releases]