hubertf's NetBSD Blog
Send interesting links to hubert at feyrer dot de!
[20050830] More NetBSD/toaster pix
Zafer Aydogan found some more NetBSD/Toaster pictures. Enjoy!

[Tags: , , ]

[20050812] More NetBSD/toaster stuff (Updated)
OK, so this cute baby now also got an article at The Inquirer, and Christian von Kleist's posting in the Slashdot thread contains some nice details about how the toaster hardware is accessed from NetBSD by using sysctls:

 # sysctl -a | grep hw.t
 hw.toaster0.led0_duty = 1
 hw.toaster0.led0_width = 8
 hw.toaster0.led1_duty = 2 
 hw.toaster0.led1_width = 16
 hw.toaster0.led2_duty = 4 
 hw.toaster0.led2_width = 32
 hw.toaster0.led3_duty = 8 
 hw.toaster0.led3_width = 64
 hw.toaster0.magnetic_latch = 0 
 hw.toaster0.burner_element = 0
 hw.toastersensors0.burnlevel_knob = 1593 
 hw.toastersensors0.cancel_key = 0 
 hw.toastersensors0.cancel_key_ticks = 13 
 hw.toastersensors0.toast_key = 0
 hw.toastersensors0.toast_key_ticks = 4 
 hw.toastersensors0.bagel_key = 0
 hw.toastersensors0.bagel_key_ticks = 6
 hw.toastersensors0.warm_key = 0 
 hw.toastersensors0.warm_key_ticks = 7 
 hw.toastersensors0.frozen_key = 0 
 hw.toastersensors0.frozen_key_ticks = 10 
 hw.toastersensors0.toast_down = 0 
 hw.toastersensors0.toast_down_ticks = 50965 
 hw.tspld0.board_temp = 40250000 
 hw.tspld0.board_temp_5s = 40290128
 hw.tspld0.board_temp_30s = 40477805
(The board_temp are the temperature in C, multiplied by 10^6, so right now it's at 40.25 degrees C.) /usr/local/bin/toast is pretty complicated, but a basic toast script works like this:
 #! /bin/sh
 sysctl -w hw.toaster0.magnetic_latch=1
 # user presses toast lever down now...
 sysctl -w hw.toaster0.burner_element = 1
 sleep 60
 sysctl -w hw.toaster0.burner_element = 0
 sysctl -w hw.toaster0.magnetic_latch=0
 echo "Toast is done!"
Only root has write access to hw.toaster0.burner_element! :D

Update: For the record, here's the dmesg output of the system booting>

# dmesg
NetBSD 3.0_BETA (TS7200) #57: Mon Aug 8 00:34:41 MST 2005 joff@sayan.wifi.home:/home/joff/NetBSD-toaster/obj /sys/arch/evbarm/compile/TS7200
total memory = 32768 KB
avail memory = 28196 KB
mainbus0 (root)
cpu0 at mainbus0: ARM920T rev 0 (ARM9TDMI core)
cpu0: DC enabled IC enabled WB enabled EABT
cpu0: 16KB/32B 64-way Instruction cache
cpu0: 16KB/32B 64-way write-back-locking-A Data cache
epsoc0 at mainbus0: Cirrus Logic EP93xx SoC rev E0
epsoc0: fclk 200.03 Mhz hclk 100.01 Mhz pclk 50.01 Mhz
ohci0 at epsoc0 addr 0x80020000-0x80020fff intr 56
epclk0 at epsoc0 addr 0x80810000-0x8081008f intr 35
epe0 at epsoc0 addr 0x80010000-0x8001ffff intr 39
epe0: MAC address 00:d0:69:4f:af:76
ukphy0 at epe0 phy 1: Generic IEEE 802.3u media interface
ukphy0: OUI 0x0010a1, model 0x0021, rev. 9
ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
epcom0 at epsoc0 addr 0x808c0000-0x808c0fff intr 52
epcom1 at epsoc0 addr 0x808d0000-0x808d0fff intr 54
epcom1: console
ohci0: OHCI version 1.0
usb0 at ohci0: USB revision 1.0
uhub0 at usb0
uhub0: Cirrus Logic OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 3 ports with 3 removable, self powered
tspld0 at mainbus0: Technologic Systems TS-7200 rev C, features 0x1
tspld0: jumpers 0x7
tspld0: board temperature 21.93 degC (71.48 degF)
isa0 at tspld0: PC/104 expansion bus
tsdio0 at isa0 port 0x100-0x107: Technologic Systems TS-DIO24
toasterlcd0 at tsdio0: 4x40 text-mode hd44780 LCD
toasterlcd0: using port C, bits 0-7 as DB0-DB7
toasterlcd0: using port B, bits 0-3 as RS, WR, EN1, EN2
wsdisplay0 at toasterlcd0 kbdmux 1
wsmux1: connecting to wsdisplay0
toaster0 at tsdio0: internal toaster control outputs
toaster0: using port B, bits 4-7 for front panel LEDs
toaster0: using port A, bit 0 for magnetic latch
toaster0: using port A, bit 1 for burner element
wdc0 at tspld0: on-board CompactFlash socket
atabus0 at wdc0 channel 0
toastersensors0 at tspld0: internal toaster sensor inputs
toastersensors0: using signal DIO_0 for toast down sensor
toastersensors0: using signals DIO_1-DIO_5 for panel buttons
toastersensors0: using 12-bit MAX197-ADC channel 0 for burnlevel knob
wskbd0 at toastersensors0 mux 1
wskbd0: connecting to wsdisplay0
uhub1 at uhub0 port 1
uhub1: Chicony Generic USB Hub, class 9/0, rev 1.10/1.00, addr 2
uhub1: 3 ports with 2 removable, bus powered
uhidev0 at uhub1 port 1 configuration 1 interface 0
uhidev0: Chicony PFU-65 USB Keyboard, rev 1.10/1.00, addr 3, iclass 3/1
ukbd0 at uhidev0: 8 modifier keys, 6 key codes
wd0 at atabus0 drive 0:
wd0: drive supports 1-sector PIO transfers, LBA addressing
wd0: 488 MB, 993 cyl, 16 head, 63 sec, 512 bytes/sect x 1000944 sectors
wd0: drive supports PIO mode 4, DMA mode 2
wskbd1 at ukbd0 mux 1
wskbd1: connecting to wsdisplay0
boot device:
root on wd0a dumps on wd0b
wsdisplay0: screen 0 added (std_toasterlcd, vt100 emulation)
wsdisplay0: screen 1 added (std_toasterlcd, vt100 emulation)
wsdisplay0: screen 2 added (std_toasterlcd, vt100 emulation)
wsdisplay0: screen 3 added (std_toasterlcd, vt100 emulation) 

[Tags: , ]

[20050810] Finally in hardware: NetBSD Controlled Toaster
``It has long been regarded that the UNIX-like OS NetBSD is portable to every type of machine except perhaps your kitchen toaster. Technologic Systems, however, has conquered this last frontier. Using one of its rugged embedded TS-7200 single-board computers housed inside the empty space of a standard 2 slice toaster, Technologic Systems has designed a functional NetBSD controlled toaster.''

What other than OMFGLOLIWANTONE should I say?! Very cool to hear things like ``the board being able to survive 60 seconds at a time a half centimeter away from an 800 watt burner element. A regular PC can't even survive room temperature without heatsinks and fans, and the TS-7200 has neither.''.

More: website, PDF.

[Tags: , ]

[20040913] NetBSD/toaster dmesg
So NetBSD has finally been ported to a real toaster, here's the dmesg output!

[Tags: , , ]

Tags: , 2bsd, 34c3, 3com, 501c3, 64bit, acl, acls, acm, acorn, acpi, acpitz, adobe, adsense, Advocacy, advocacy, advogato, aes, afs, aiglx, aio, airport, alereon, alex, alix, alpha, altq, am64t, amazon, amd64, anatomy, ansible, apache, apm, apple, arkeia, arla, arm, art, Article, Articles, ascii, asiabsdcon, aslr, asterisk, asus, atf, ath, atheros, atmel, audio, audiocodes, autoconf, avocent, avr32, aws, axigen, azure, backup, balloon, banners, basename, bash, bc, beaglebone, benchmark, bigip, bind, blackmouse, bldgblog, blog, blogs, blosxom, bluetooth, board, bonjour, books, boot, boot-z, bootprops, bozohttpd, bs2000, bsd, bsdca, bsdcan, bsdcertification, bsdcg, bsdforen, bsdfreak, bsdmac, bsdmagazine, bsdnexus, bsdnow, bsdstats, bsdtalk, bsdtracker, bug,, busybox, buttons, bzip, c-jump, c99, cafepress, calendar, callweaver, camera, can, candy, capabilities, card, carp, cars, cauldron, ccc, ccd, cd, cddl, cdrom, cdrtools, cebit, centrino, cephes, cert, certification, cfs, cgd, cgf, checkpointing, china, christos, cisco, cloud, clt, cobalt, coccinelle, codian, colossus, common-criteria, community, compat, compiz, compsci, concept04, config, console, contest, copyright, core, cortina, coverity, cpu, cradlepoint, cray, crosscompile, crunchgen, cryptography, csh, cu, cuneiform, curses, curtain, cuwin, cvs, cvs-digest, cvsup, cygwin, daemon, daemonforums, daimer, danger, darwin, data, date, dd, debian, debugging, dell, desktop, devd, devfs, devotionalia, df, dfd_keeper, dhcp, dhcpcd, dhcpd, dhs, diezeit, digest, digests, dilbert, dirhash, disklabel, distcc, dmesg, Docs, Documentation, donations, draco, dracopkg, dragonflybsd, dreamcast, dri, driver, drivers, drm, dsl, dst, dtrace, dvb, ec2, eclipse, eeepc, eeepca, ehci, ehsm, eifel, elf, em64t, embedded, Embedded, emips, emulate, encoding, envsys, eol, espresso, etcupdate, etherip, euca2ools, eucalyptus, eurobsdcon, eurosys, Events, exascale, ext3, f5, facebook, falken, fan, faq, fatbinary, features, fefe, ffs, filesystem, fileysstem, firefox, firewire, fireworks, flag, flash, flashsucks, flickr, flyer, fmslabs, force10, fortunes, fosdem, fpga, freebsd, freedarwin, freescale, freex, freshbsd, friendlyAam, friendlyarm, fritzbox, froscamp, fsck, fss, fstat, ftp, ftpd, fujitsu, fun, fundraising, funds, funny, fuse, fusion, g4u, g5, galaxy, games, gcc, gdb, gentoo, geode, getty, gimstix, git, gnome, google, google-soc, googlecomputeengine, gpio, gpl, gprs, gracetech, gre, groff, groupwise, growfs, grub, gumstix, guug, gzip, hackathon, hackbench, hal, hanoi, happabsd, Hardware, hardware, haze, hdaudio, heat, heimdal, hf6to4, hfblog, hfs, history, hosting, hotplug, hp, hp700, hpcarm, hpcsh, hpux, html, httpd, hubertf, hurd, i18n, i386, i386pkg, ia64, ian, ibm, ids, ieee, ifwatchd, igd, iij, image, images, imx233, imx7, information, init, initrd, install, intel, interix, internet2, interview, interviews, io, ioccc, iostat, ipbt, ipfilter, ipmi, ipplug, ipsec, ipv6, irbsd, irc, irix, iscsi, isdn, iso, isp, itojun, jail, jails, japanese, java, javascript, jetson, jibbed, jihbed, jobs, jokes, journaling, kame, kauth, kde, kerberos, kergis, kernel, keyboardcolemak, kirkwood, kitt, kmod, kolab, kvm, kylin, l10n, landisk, laptop, laptops, law,, ldap, lehmanns, lenovo, lfs, libc, license, licensing, linkedin, links, linksys, linux, linuxtag, live-cd, lkm, localtime, locate.updatedb, logfile, logging, logo, logos, lom, lte, lvm, m68k, macmini, macppc, macromedia, magicmouse, mahesha, mail, makefs, malo, mame, manpages, marvell, matlab, maus, max3232, mbr95, mbuf, mca, mdns, mediant, mediapack, meetbsd, mercedesbenz, mercurial, mesh, meshcube, mfs, mhonarc, microkernel, microsoft, midi, mini2440, miniroot, minix, mips, mirbsd, missile, mit, mixer, mobile-ip, modula3, modules, money, mouse, mp3, mpls, mprotect, mtftp, mult, multics, multilib, multimedia, music, mysql, named, nas, nasa, nat, ncode, ncq, ndis, nec, nemo, neo1973, netbook, netboot, netbsd,, nethack, nethence, netksb, netstat, netwalker, networking, neutrino, nforce, nfs, nis, npf, npwr, nroff, nslu2, nspluginwrapper, ntfs-3f, ntp, nullfs, numa, nvi, nvidia, nycbsdcon, office, ofppc, ohloh, olimex, olinuxino, olpc, onetbsd, openat, openbgpd, openblocks, openbsd, opencrypto, opendarwin, opengrok, openmoko, openoffice, openpam, openrisk, opensolaris, openssl, or1k, oracle, oreilly, oscon, osf1, osjb, paas, packages, pad, pae, pam, pan, panasonic, parallels, pascal, patch, patents, pax, paypal, pc532, pc98, pcc, pci, pdf, pegasos, penguin, performance, pexpect, pf, pfsync, pgx32, php, pie, pike, pinderkent, pkg_install, pkg_select, pkgin, pkglint, pkgmanager, pkgsrc,, pkgsrccon, pkgsrcCon, Platforms, plathome, pleiades, pocketsan, podcast, pofacs, politics, polls, polybsd, portability, posix, postinstall, power3, powernow, powerpc, powerpf, pppoe, precedence, preemption, prep, presentations, prezi, products, Products, proplib, protectdrive, proxy, ps, ps3, psp, psrset, pthread, ptp, ptyfs, Publications, puffs, puredarwin, pxe, qemu, qnx, qos, qt, quality-management, quine, quote, quotes, r-project, ra5370, radio, radiotap, raid, raidframe, rants, raptor, raq, raspberrypi, rc.d, readahead, realtime, record, refuse, reiserfs, Release, releases, Releases, releng, reports, resize, restore, ricoh, rijndael, rip, riscos, rng, roadmap, robopkg, robot, robots, roff, rootserver, rotfl, rox, rs323, rs6k, rss, ruby, rump, rzip, sa, safenet, san, sata, savin, sbsd, scampi, scheduler, scheduling, schmonz, sco, screen, script, sdf, sdtemp, secmodel, security, Security, sed, segvguard, seil, sendmail, serial, serveraptor, sfu, sge, sgi, sgimips, sh, sha2, shark, sharp, shisa, shutdown, sidekick, size, slackware, slashdot, slides, slit, smbus, smp, sockstat, soekris, softdep, softlayer, software, solaris, sony, sound, source, source-changes, spanish, sparc, sparc64, spider, spreadshirt, spz, squid, ssh, sshfs, ssp, statistics, stereostream, stickers, storage, stty, studybsd, subfile, sudbury, sudo, summit, sun, sun2, sun3, sunfire, sunpci, support, sus, suse, sushi, susv3, svn, swcrypto, symlinks, sysbench, sysctl, sysinst, sysjail, syslog, syspkg, systat, systrace, sysupdate, t-shirt, tabs, talks, tanenbaum, tape, tcp, tcp/ip, tcpdrop, tcpmux, tcsh, teamasa, tegra, teredo, termcap, terminfo, testdrive, testing, tetris, tex, TeXlive, thecus, theopengroup, thin-client, thinkgeek, thorpej, threads, time, time_t, timecounters, tip, tk1, tme, tmp, tmpfs, tnf, toaster, todo, toolchain, top, torvalds, toshiba, touchpanel, training, translation, tso, tty, ttyrec, tulip, tun, tuning, uboot, ucom, udf, ufs, ukfs, ums, unetbootin, unicos, unix, updating, upnp, uptime, usb, usenix, useradd, userconf, userfriendly, usermode, usl, utc, utf8, uucp, uvc, uvm, valgrind, vax, vcfe, vcr, veriexec, vesa, video, videos, virtex, virtualization, vm, vmware, vnd, vobb, voip, voltalinux, vpn, vpnc, vulab, w-zero3, wallpaper, wapbl, wargames, wasabi, webcam, webfwlog, wedges, wgt624v3, wiki, willcom, wimax, window, windows, winmodem, wireless, wizd, wlan, wordle, wpa, wscons, wstablet, X,, x11, x2apic, xbox, xcast, xen, Xen, xfree, xfs, xgalaxy, xilinx, xkcd, xlockmore, xmms, xmp, xorg, xscale, youos, youtube, zaurus, zdump, zfs, zlib

'nuff. Grab the RSS-feed, index, or go back to my regular NetBSD page

Disclaimer: All opinion expressed here is purely my own. No responsibility is taken for anything.

Access count: 35209920
Copyright (c) Hubert Feyrer