<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-367039639200834638</id><updated>2024-10-02T00:15:30.516-07:00</updated><category term="linux"/><category term="CUPS"/><category term="FreeDOS"/><category term="SCX-4623F"/><category term="SCX-4623FW"/><category term="bios"/><category term="bios upgrade"/><category term="coreboot"/><category term="dell"/><category term="dell sputnik"/><category term="liberty mutual"/><category term="printing"/><category term="sane"/><category term="scanner"/><category term="security"/><category term="sputnik"/><category term="ubuntu"/><title type='text'>Penguin Playground</title><subtitle type='html'>Warren&#39;s thoughts on technology and other things.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://penguin-playground.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/367039639200834638/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://penguin-playground.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>W00t</name><uri>http://www.blogger.com/profile/16667794744689152598</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>12</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-367039639200834638.post-1618208398339151581</id><published>2014-03-26T16:16:00.000-07:00</published><updated>2016-05-19T15:33:35.223-07:00</updated><title type='text'>Get SMTP credentials from IAM access keys for Amaon Simple Email Service.</title><content type='html'>&lt;code&gt;Here&#39;s some code to get you Amazon SES SMTP credentials from your access key id and secret.&lt;/code&gt;&lt;br /&gt;
&lt;pre&gt;&lt;code&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;code&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;def get_smtp_creds(access_key_id, secret_access_key):
    message = &#39;SendRawEmail&#39;
    version = 0x02

    sig = hmac.new(
        secret_access_key,
        msg=message,
        digestmod=hashlib.sha256)
    sig_bytes = sig.digest()
    sig_and_version_bytes = (struct.pack(&#39;B&#39;, version) + sig_bytes)
    smtp_password = base64.b64encode(sig_and_version_bytes)

    return access_key_id, smtp_password&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
</content><link rel='replies' type='application/atom+xml' href='http://penguin-playground.blogspot.com/feeds/1618208398339151581/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/367039639200834638/1618208398339151581' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/367039639200834638/posts/default/1618208398339151581'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/367039639200834638/posts/default/1618208398339151581'/><link rel='alternate' type='text/html' href='http://penguin-playground.blogspot.com/2014/03/get-smtp-credentials-from-iam-access.html' title='Get SMTP credentials from IAM access keys for Amaon Simple Email Service.'/><author><name>W00t</name><uri>http://www.blogger.com/profile/16667794744689152598</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-367039639200834638.post-5963273200897840504</id><published>2013-08-22T14:44:00.001-07:00</published><updated>2013-12-21T12:57:54.470-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="bios"/><category scheme="http://www.blogger.com/atom/ns#" term="bios upgrade"/><category scheme="http://www.blogger.com/atom/ns#" term="dell"/><category scheme="http://www.blogger.com/atom/ns#" term="dell sputnik"/><category scheme="http://www.blogger.com/atom/ns#" term="FreeDOS"/><category scheme="http://www.blogger.com/atom/ns#" term="linux"/><category scheme="http://www.blogger.com/atom/ns#" term="sputnik"/><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu"/><title type='text'>Upgrading to BIOS version A08 on Dell Sputnik</title><content type='html'>Upgrading the BIOS on a Dell XPS13 (Sputnik) is a huge pain in Linux. I work on Ubuntu 13.04 on my sputnik, so some of this may be specific to that version of Ubuntu. To summarize the procedure, I built a FreeDOS hard disk image and use that image to&amp;nbsp;upgrade the BIOS. I had to use a hard disk image because the bios upgrade binary is bigger than a floppy. Here are the steps:&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;wget&amp;nbsp;&lt;a href=&quot;http://www.freedos.org/download/download/fdbasecd.iso&quot;&gt;http://www.freedos.org/download/download/fdbasecd.iso&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;qemu-img create -f raw upgrade_bios.img 100M (you can use dd to do this also)&lt;/li&gt;
&lt;li&gt;qemu-system-x86_64 -hda upgrade_bios.img -cdrom fdbasecd.iso -boot d&lt;/li&gt;
&lt;li&gt;Install FreeDOS onto the disk image.&lt;/li&gt;
&lt;li&gt;Shutdown the VM.&lt;/li&gt;
&lt;li&gt;wget&amp;nbsp;&lt;a href=&quot;http://downloads.dell.com/FOLDER01438023M/1/L322XA08.exe&quot;&gt;http://downloads.dell.com/FOLDER01438023M/1/L322XA08.exe&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Become root (su or sudo -s)&lt;/li&gt;
&lt;li&gt;kpartx -sav upgrade_bios.img (will create /dev/loop[0-9]\+ and /dev/mapper/loop[0-9]\+p1)&lt;/li&gt;
&lt;li&gt;mount /dev/mapper/loop0p1 /mnt&lt;/li&gt;
&lt;li&gt;mkdir /mnt/bios&lt;/li&gt;
&lt;li&gt;cp L322XA08.exe /mnt/bios&lt;/li&gt;
&lt;li&gt;umount /mnt&lt;/li&gt;
&lt;li&gt;kpartx -sd upgrade_bios.img&lt;/li&gt;
&lt;li&gt;cp upgrade_bios.img /boot&lt;/li&gt;
&lt;li&gt;apt-get install syslinux&lt;/li&gt;
&lt;li&gt;Add following a script in /etc/grub.d to add entries to grub to boot to the image using memdisk from syslinux. The entries should look something like the following:&lt;br /&gt;&lt;pre&gt;menuentry &quot;Upgrade BIOS&quot; {
   insmod part_msdos&lt;/pre&gt;
&lt;pre&gt;   insmod ext2&lt;/pre&gt;
&lt;pre&gt;   linux16 /usr/lib/syslinux/memdisk
   initrd16 /boot/upgrade_bios.img
}&lt;/pre&gt;
For example, here&#39;s my /etc/grub.d/25_memdisk_for_bios_upgrade:&lt;br /&gt;
&lt;span style=&quot;font-family: monospace;&quot;&gt;&lt;span style=&quot;white-space: pre;&quot;&gt;#!/bin/sh
set -e

if [ -f /usr/lib/grub/grub-mkconfig_lib ]; then
  . /usr/lib/grub/grub-mkconfig_lib
  LX=linux16
else
  # no grub file, so we notify and exit gracefully
  echo &quot;Cannot find grub config file, exiting.&quot; &amp;gt;&amp;amp;2
  exit 0
fi

# We need 16-bit boot, which isn&#39;t available on EFI.
if [ -d /sys/firmware/efi ]; then
  exit 0
fi

# We can&#39;t cope with loop-mounted devices here.
case ${GRUB_DEVICE_BOOT} in
  /dev/loop/*|/dev/loop[0-9]) exit 0 ;;
esac

prepare_boot_cache=&quot;$(prepare_grub_to_access_device ${GRUB_DEVICE_BOOT} | sed -e &quot;s/^/\t/&quot;)&quot;

if test -e /boot/upgrade_bios.img ; then
  FREEDOSPATH=$( make_system_path_relative_to_its_root &quot;/boot/upgrade_bios.img&quot; )
  echo &quot;Found BIOS upgrade image: $FREEDOSPATH&quot; &amp;gt;&amp;amp;2
  cat &amp;lt;&amp;lt; EOF
menuentry &quot;Upgrade BIOS&quot; {
EOF
  printf &#39;%s\n&#39; &quot;${prepare_boot_cache}&quot;
  cat &amp;lt;&amp;lt; EOF
 $LX /usr/lib/syslinux/memdisk
 initrd16  $FREEDOSPATH
}
EOF
fi&lt;/span&gt;&lt;/span&gt;
&lt;/li&gt;
&lt;li&gt;chmod 755 /etc/grub.d/25_memdisk_for_bios_upgrade&lt;/li&gt;
&lt;li&gt;update-grub&lt;/li&gt;
&lt;li&gt;Reboot computer and get into grub boot menu (in Ubuntu, you can hold Shift during the boot to for showing the grub menu)&lt;/li&gt;
&lt;li&gt;Select &quot;Upgrade BIOS&quot;&lt;/li&gt;
&lt;li&gt;Select 1st boot option from FreeDOS boot menu&lt;/li&gt;
&lt;li&gt;Wait for C:\&amp;gt; prompt&lt;/li&gt;
&lt;li&gt;cd BIOS&lt;/li&gt;
&lt;li&gt;Make sure your power is plugged in.&lt;/li&gt;
&lt;li&gt;run L322XA08.exe&lt;/li&gt;
&lt;li&gt;Wait for it to complete&lt;/li&gt;
&lt;li&gt;Reboot and celebrate if it works.&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;
&lt;b&gt;UPDATE (2013/10/19)&lt;/b&gt;: Added script contents for /etc/grub.d/25_memdisk_for_bios_upgrade.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;UPDATE (2013/11/09):&lt;/b&gt;&amp;nbsp;Fixed the 25_memdisk_for_bios_upgrade script. Added some previously missing steps.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;UPDATE (2013/12/21):&lt;/b&gt;&amp;nbsp;Dell, if you ever read this, providing the baked freedos .img file with the BIOS upgrader inside as a download from your website would be super useful. Bonus points if you make the BIOS utility start with autoexec.bat and then restart the machine when it&#39;s done. That&#39;s exactly what I did to enable a similar image to be used to upgrade BIOSes on some Dell servers. It even worked over PXE.&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://penguin-playground.blogspot.com/feeds/5963273200897840504/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/367039639200834638/5963273200897840504' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/367039639200834638/posts/default/5963273200897840504'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/367039639200834638/posts/default/5963273200897840504'/><link rel='alternate' type='text/html' href='http://penguin-playground.blogspot.com/2013/08/upgrading-to-bios-version-a08-on-dell.html' title='Upgrading to BIOS version A08 on Dell Sputnik'/><author><name>W00t</name><uri>http://www.blogger.com/profile/16667794744689152598</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-367039639200834638.post-576748939640035564</id><published>2011-12-01T13:11:00.000-08:00</published><updated>2013-12-21T12:58:33.333-08:00</updated><title type='text'>Turn an Ubuntu Linux box a WAP (Wifi Access Point)</title><content type='html'>I recently helped a friend of mine &lt;a href=&quot;http://nihonlinks.com/news/&quot;&gt;James Miller&lt;/a&gt; setup an Ubuntu Linux box as a wireless access point. I had never done this before, but I found it to be pretty straightforward. Here is the very abbreviated version of the things that need to be done assuming that your wireless driver is supported by the nl80211 interface in the Linux kernel:&lt;br /&gt;
&lt;div&gt;
&lt;ol&gt;
&lt;li&gt;Install hostapd&lt;/li&gt;
&lt;li&gt;Add a configuration file for hostapd&lt;/li&gt;
&lt;li&gt;Modify /etc/network/interfaces to bring up the hostapd config&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;
James and I used an ath5k card to pull this off.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-large;&quot;&gt;Installing hostapd:&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
At a root prompt, type: &quot;&lt;span class=&quot;Apple-style-span&quot;&gt;apt-get install hostapd&lt;/span&gt;&quot;. Doing so will install all the machinery needed to bring up a WAP, but it will have no configuration.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-large;&quot;&gt;Creating the config file for hostapd:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
In /etc/hostapd/{essid}.conf, use the following contents for an unencrypted WAP:&lt;/div&gt;
&lt;div&gt;
&lt;pre style=&quot;background-color: white; border-bottom-color: rgb(174, 189, 204); border-bottom-style: solid; border-bottom-width: 1pt; border-left-color: rgb(174, 189, 204); border-left-style: solid; border-left-width: 1pt; border-right-color: rgb(174, 189, 204); border-right-style: solid; border-right-width: 1pt; border-top-color: rgb(174, 189, 204); border-top-style: solid; border-top-width: 1pt; font-family: courier, monospace; padding-bottom: 5pt; padding-left: 5pt; padding-right: 5pt; padding-top: 5pt; white-space: pre-wrap; word-wrap: break-word;&quot;&gt;interface=wlan0
driver=nl80211
ssid={essid} channel=1 # may want to replace with another channel&lt;/pre&gt;
&lt;/div&gt;
&lt;div&gt;
Of course, you should replace &quot;{essid}&quot; with your actual essid.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-large;&quot;&gt;Modifying the /etc/network/interfaces file:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
You&#39;ll need something similar to the following:&lt;/div&gt;
&lt;div&gt;
&lt;pre style=&quot;background-color: white; border-bottom-color: rgb(174, 189, 204); border-bottom-style: solid; border-bottom-width: 1pt; border-left-color: rgb(174, 189, 204); border-left-style: solid; border-left-width: 1pt; border-right-color: rgb(174, 189, 204); border-right-style: solid; border-right-width: 1pt; border-top-color: rgb(174, 189, 204); border-top-style: solid; border-top-width: 1pt; font-family: courier, monospace; padding-bottom: 5pt; padding-left: 5pt; padding-right: 5pt; padding-top: 5pt; white-space: pre-wrap; word-wrap: break-word;&quot;&gt;auto wlan0
iface wlan0 inet static
  address 192.168.1.1
  netmask 255.255.255.0
  hostapd /etc/hostapd/{essid}.conf&lt;/pre&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-large;&quot;&gt;Conclusion:&lt;/span&gt;&lt;br /&gt;
That should get you a simple unencrypted WAP setup. If you want encryption, you can use hostapd to implement simple WPA2 personal or more interesting WPA2 enterprise style security (among other options). I would strongly recommend at least WPA2 personal (a.k.a. pre-shared key or PSK) encryption unless you have reasons to make it less secure.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Note also that this setup will leave you with your wireless network and other networks on separate layer 2 domains, which means that packets will need to be routed between them. You&#39;ll probably also want to get dhcp running so that you don&#39;t have to manually configure clients on the wireless network. I am going to leave getting these additional bits working  as a exercise for the reader. As a hint, checkout the isc-dhcp-server package and the net.ipv4.forward (for IPv4). You might also want to check out the shorewall package as a nice firewall. :)&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;/div&gt;
&lt;div&gt;
Good luck!&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://penguin-playground.blogspot.com/feeds/576748939640035564/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/367039639200834638/576748939640035564' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/367039639200834638/posts/default/576748939640035564'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/367039639200834638/posts/default/576748939640035564'/><link rel='alternate' type='text/html' href='http://penguin-playground.blogspot.com/2011/12/turn-unbuntu-linux-box-wap-wifi-access.html' title='Turn an Ubuntu Linux box a WAP (Wifi Access Point)'/><author><name>W00t</name><uri>http://www.blogger.com/profile/16667794744689152598</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-367039639200834638.post-969191180050556126</id><published>2011-03-08T01:38:00.001-08:00</published><updated>2011-06-15T05:54:59.807-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="CUPS"/><category scheme="http://www.blogger.com/atom/ns#" term="linux"/><category scheme="http://www.blogger.com/atom/ns#" term="printing"/><category scheme="http://www.blogger.com/atom/ns#" term="sane"/><category scheme="http://www.blogger.com/atom/ns#" term="scanner"/><category scheme="http://www.blogger.com/atom/ns#" term="SCX-4623F"/><category scheme="http://www.blogger.com/atom/ns#" term="SCX-4623FW"/><title type='text'>Samsung SCX-4623FW Supported by Fully Open Drivers</title><content type='html'>&lt;div&gt;&lt;div&gt;I was searching for a new smaller printer/scanner recently. I don&#39;t print out much, so I wanted a black-and-white laser printer. I also wanted a scanner so that I can get rid of my old printer/scanner since it&#39;s so big.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Finding a new printer that is supported by open drivers is really difficult, and configuring SANE backends is not my definition sanity. However, I looked on the SANE database and found that Samsung&#39;s SCX-4623 is &lt;a href=&quot;http://www.sane-project.org/sane-mfgs.html#Z-SAMSUNG&quot;&gt;supported&lt;/a&gt;. I couldn&#39;t find any support in the Linux Foundation&#39;s OpenPrinting &lt;a href=&quot;http://www.openprinting.org/printers/manufacturer/Samsung&quot;&gt;database&lt;/a&gt; for the SCX-4623. So...I took a leap of faith and bought the printer for about $150.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;To be clear, many vendors, including Samsung, offer binary drivers for their printers. However, I really wanted to use the open drivers so that I could contribute to the systems involved instead of being locked out.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The first step was to get the scanner working. At first, I tried to get the xerox_mfp backend working. I just added the following line into the /etc/sane.d/xerox_mfp.conf config file: &quot;usb 0x04e8 0x3440&quot;. This did not work as the SANE backend did not seeing the scanner. After a significant troubleshooting effort, I found that the SANE backend had a bug that prevented USB scanners from being used with the xerox_mfp backend. I have reported the bug and presented a patch to the SANE community. See it &lt;a href=&quot;http://lists.alioth.debian.org/pipermail/sane-devel/2011-March/028350.html&quot;&gt;here&lt;/a&gt;. After applying this patch, I was able to successfully scan at 1200dpi in color. That&#39;s full capacity for this machine. Success is mine!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This machine also supports ethernet and wireless. Both worked for scanning after configuring the xerox_mfp backend with the machine&#39;s network address and port. The same bug didn&#39;t affect the networked support for the xerox_mfp backend, so everything just worked.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Great, so the scanner works, now what?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;So, now I had to get the printer working. The printer supports the ipp protocol. I was hoping that I could just use some generic CUPS filter to work with it. The printer claimed support for PCL5e in the web interface for the printer, so I just used the generic PCL5e driver and the ipp address of the printer. Everything just worked!&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;My next step is to write a PPD to properly describe this printer fully. I am also trying to figure out out to get this info integrated into the OpenPrinting database.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Having said all this, my printer/scanner is running totally on free and open source software, and I can recommend this to others looking for a printer that&#39;s fully supported by free and open source software.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I would also like to reach out to Samsung and encourage them to let their users know this information so that their users don&#39;t have to go through the hassle of installing binary only drivers that only work on x86_64 or i386 architectures.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This information probably also applies to the SCX-4623F, which doesn&#39;t have wireless support.&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://penguin-playground.blogspot.com/feeds/969191180050556126/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/367039639200834638/969191180050556126' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/367039639200834638/posts/default/969191180050556126'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/367039639200834638/posts/default/969191180050556126'/><link rel='alternate' type='text/html' href='http://penguin-playground.blogspot.com/2011/03/samsung-scx-4623fw-supported-by-fully.html' title='Samsung SCX-4623FW Supported by Fully Open Drivers'/><author><name>W00t</name><uri>http://www.blogger.com/profile/16667794744689152598</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-367039639200834638.post-1493398303927580070</id><published>2010-09-26T02:46:00.001-07:00</published><updated>2010-09-26T02:49:51.815-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="coreboot"/><title type='text'>Coreboot Config Cleanups</title><content type='html'>I have submitted a few patches to the coreboot team that cleanup some configuration items. Mostly, they remove duplicated and misplaced configuration items.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;For instance, for some of the boards I looked at, they have a hard reset because their southbridge provides that functionality. However, the hard reset was configured in the mainboard config instead. I moved the configs to the southbridge and removed the config from the mainboard. There are a lot of config options similar to this one. I am going to try to get some more patched out tomorrow.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://penguin-playground.blogspot.com/feeds/1493398303927580070/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/367039639200834638/1493398303927580070' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/367039639200834638/posts/default/1493398303927580070'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/367039639200834638/posts/default/1493398303927580070'/><link rel='alternate' type='text/html' href='http://penguin-playground.blogspot.com/2010/09/coreboot-config-cleanups.html' title='Coreboot Config Cleanups'/><author><name>W00t</name><uri>http://www.blogger.com/profile/16667794744689152598</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-367039639200834638.post-8953938862819825963</id><published>2010-09-14T12:18:00.000-07:00</published><updated>2010-09-14T21:51:41.115-07:00</updated><title type='text'>BIOS hacking</title><content type='html'>&lt;div style=&quot;text-align: left;&quot;&gt;Previously, I had soldered an soic8 socket onto my motherboard in place of the soic8 surface mount chip so that I could replace the soic8 chip easily. Here&#39;s a picture:&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;img src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-EhEo_RBBLHcHLQoBBkbOtRaXd90Jztkd7KH6CHP8BGC8xI3CnhHc-t8NMGAhZIRO0D59jrV3dMMd1xeELEge2cCWoe__8kY11QxXUrDuz2E9WlwgcZVtuKwBZHpK_khxzOlUSNbQf8w/s320/IMG_20100914_120744.jpg&quot; style=&quot;cursor:pointer; cursor:hand;width: 320px; height: 240px;&quot; border=&quot;0&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5516852298898509634&quot; /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;BTW, does anyone know where I can buy more of the soic8 sockets pictured above? I was given one by a friend and I don&#39;t know where to get them.&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;I have finally soldered up a more permanent version of my soic8 serial flash programmer. The basic circuit design was by Uwe Hermann. I added a 3M test clip to make it easier to flash my chips. Here&#39;s a picture:&lt;div&gt;&lt;img src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipwaxIGxsg_K_j5gAFwE8y07CC2P6XOoDghKetLDsPogelLqbM_e2Egv8YGAsRfxSGDvN_TibrBBrANo5kBhyphenhyphenT5SDDrLSKmUoswb_pyaooZMw0yYbbIFoLBgUMDSAQ87SXstazuARD440/s320/IMG_20100914_114443.jpg&quot; style=&quot;cursor:pointer; cursor:hand;width: 320px; height: 240px;&quot; border=&quot;0&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5516851902865775074&quot; /&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Update:&lt;/b&gt; The soic socket adapter is located at &lt;a href=&quot;http://www.dediprog.com/SPI-flash-accessories/SPI-Flash-Socket-8pin&quot;&gt;http://www.dediprog.com/SPI-flash-accessories/SPI-Flash-Socket-8pin&lt;/a&gt;. Whoa, that&#39;s expensive shipping.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://penguin-playground.blogspot.com/feeds/8953938862819825963/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/367039639200834638/8953938862819825963' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/367039639200834638/posts/default/8953938862819825963'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/367039639200834638/posts/default/8953938862819825963'/><link rel='alternate' type='text/html' href='http://penguin-playground.blogspot.com/2010/09/previously-i-had-soldered-soic8-socket.html' title='BIOS hacking'/><author><name>W00t</name><uri>http://www.blogger.com/profile/16667794744689152598</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-EhEo_RBBLHcHLQoBBkbOtRaXd90Jztkd7KH6CHP8BGC8xI3CnhHc-t8NMGAhZIRO0D59jrV3dMMd1xeELEge2cCWoe__8kY11QxXUrDuz2E9WlwgcZVtuKwBZHpK_khxzOlUSNbQf8w/s72-c/IMG_20100914_120744.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-367039639200834638.post-3648271398085544096</id><published>2010-09-03T18:23:00.000-07:00</published><updated>2010-09-03T18:26:44.790-07:00</updated><title type='text'>Inteltool from Coreboot</title><content type='html'>I am doing some work trying to add Core i7 support to the inteltool utility from the Coreboot project.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Core i7 is very different from the previous intel chipsets, and figuring out how to represent some of the stuff in inteltool&#39;s view of the world is a challenge. The main problem I am facing right now is that inteltool thinks the northbridge chip contains the memory controller. However, in i7, that functionality has been moved into a PCI device on the processor itself. I am still trying to figure out a solution.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://penguin-playground.blogspot.com/feeds/3648271398085544096/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/367039639200834638/3648271398085544096' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/367039639200834638/posts/default/3648271398085544096'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/367039639200834638/posts/default/3648271398085544096'/><link rel='alternate' type='text/html' href='http://penguin-playground.blogspot.com/2010/09/inteltool-from-coreboot.html' title='Inteltool from Coreboot'/><author><name>W00t</name><uri>http://www.blogger.com/profile/16667794744689152598</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-367039639200834638.post-9080956790209873014</id><published>2009-07-18T20:39:00.001-07:00</published><updated>2009-07-20T21:52:38.198-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="liberty mutual"/><category scheme="http://www.blogger.com/atom/ns#" term="security"/><title type='text'>Liberty Mutual web site disappoints on SSL security</title><content type='html'>I tried to login to the Liberty Mutual web site the other day and found some annoying things.&lt;br /&gt;&lt;ol&gt;&lt;li&gt;The main Liberty Mutual web page at &lt;a href=&quot;http://www.libertymutual.com/&quot;&gt;http://www.libertymutual.com/&lt;/a&gt; includes a login form. Given that the page is not secured with SSL, I can&#39;t trust the login form. Given that &lt;a href=&quot;https://www.libertymutual.com/&quot;&gt;https://www.libertymutual.com/&lt;/a&gt; exists, the unsecured site should just redirect there.&lt;br /&gt;&lt;br /&gt;I looked at Wells Fargo&#39;s web site, and I am actually pretty happy with the way Wells Fargo handles this issue. Both &lt;a href=&quot;http://wellsfargo.com/&quot;&gt;http://wellsfargo.com/&lt;/a&gt; and &lt;a href=&quot;http://www.wellsfargo.com/&quot;&gt;http://www.wellsfargo.com/&lt;/a&gt; redirect to &lt;a href=&quot;https://www.wellsfargo.com/&quot;&gt;https://www.wellsfargo.com/&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I am amazed at the frequecy with which this error is made. A login form should never appear on an unsecured page.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Liberty Mutual has had a misconfigured SSL certificate on the site that handles their logins (&lt;a href=&quot;https://pmeservice.libertymutual.com/LMAuth/eservicelog.fcc&quot;&gt;https://pmeservi&lt;/a&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://1.bp.blogspot.com/_Q1O14nx45JQ/SmKdXTUDHEI/AAAAAAAAAAM/PROcwVEvHsU/s1600-h/screenshot.png&quot;&gt;&lt;img style=&quot;margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px; height: 256px;&quot; src=&quot;http://1.bp.blogspot.com/_Q1O14nx45JQ/SmKdXTUDHEI/AAAAAAAAAAM/PROcwVEvHsU/s320/screenshot.png&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5360019530171227202&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;https://pmeservice.libertymutual.com/LMAuth/eservicelog.fcc&quot;&gt;ce.libertymutual.com/LMAuth/eservicelog.fcc&lt;/a&gt;). See the screenshot to the left for the screenshot from Firefox. Basically, I think they don&#39;t have the whole certificate chain configured properly, so my browser can&#39;t check the authenticity of the certificate. I figured this out by looking at the certificate chain that my browser was getting from the site. See below.&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://3.bp.blogspot.com/_Q1O14nx45JQ/SmKhrzBXM4I/AAAAAAAAAAU/h6_Q5PDQgTo/s1600-h/Picture+1.png&quot;&gt;&lt;img style=&quot;margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 317px; height: 320px;&quot; src=&quot;http://3.bp.blogspot.com/_Q1O14nx45JQ/SmKhrzBXM4I/AAAAAAAAAAU/h6_Q5PDQgTo/s320/Picture+1.png&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5360024280326681474&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;If you call their support line, they have the worst possible workaround. I was told to simply create a browser exception for the certificate. I might have been willing to do that if they would have least been able to verify the SHA1 fingerprint of the key, but the support folks didn&#39;t know what that was.&lt;br /&gt;&lt;br /&gt;Frankly, I think it&#39;s quite irresponsible to be running their website like this as I think it greatly increases the chances of an MITM attack.&lt;/li&gt;&lt;li&gt;Finally, I also saw that the Liberty Mutual website is Cybertrust &lt;a href=&quot;https://smp-01.verizonbusiness.com/certinfo/certified.do?CERTID=072505G7001&quot;&gt;certified&lt;/a&gt;, so I sent an email the the support for that about the situation. They emailed back and claimed that I didn&#39;t understand how SSL certs worked. I replied with a more detailed description. Hopefully, they will understand  what my problem is this time around.&lt;/li&gt;&lt;/ol&gt;All of these issues are still problem today. For (2), how does an SSL certificate error like that stay unfixed for days? That seems like a level of incompetence to me. Is there a better explanation?&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;UPDATE &lt;/span&gt;Sun. July 19, 2009: I just looked up their site report on Netcraft. Check &lt;a href=&quot;http://toolbar.netcraft.com/site_report?url=https%3A%2F%2Fpmeservice.libertymutual.com&quot;&gt;it&lt;/a&gt; out. Is says the following for certificate check: &quot;unable to get local issuer certificate&quot;. Someone should be answering some hard questions for letting this issue go on for the 4 or 5 days that it has been going on so far.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;UPDATE&lt;/span&gt;: Mon. July 20, 2009: I just looked at the site again, and Liberty Mutual has finally fixed it. The fact that it took so long to fix the issue makes me want to corner the CIO and ask him what took so long. Since the issue is fixed, the Netcraft report also is able to verify the certificate now.</content><link rel='replies' type='application/atom+xml' href='http://penguin-playground.blogspot.com/feeds/9080956790209873014/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/367039639200834638/9080956790209873014' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/367039639200834638/posts/default/9080956790209873014'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/367039639200834638/posts/default/9080956790209873014'/><link rel='alternate' type='text/html' href='http://penguin-playground.blogspot.com/2009/07/liberty-mutual-disappoints.html' title='Liberty Mutual web site disappoints on SSL security'/><author><name>Anonymous</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/blank.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_Q1O14nx45JQ/SmKdXTUDHEI/AAAAAAAAAAM/PROcwVEvHsU/s72-c/screenshot.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-367039639200834638.post-4649172240157475363</id><published>2008-07-07T07:34:00.000-07:00</published><updated>2009-05-21T10:33:17.501-07:00</updated><title type='text'>Married</title><content type='html'>As of last Friday, I am married to the love of my life Rachel. I am so glad I could trick her into doing this. :-)</content><link rel='replies' type='application/atom+xml' href='http://penguin-playground.blogspot.com/feeds/4649172240157475363/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/367039639200834638/4649172240157475363' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/367039639200834638/posts/default/4649172240157475363'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/367039639200834638/posts/default/4649172240157475363'/><link rel='alternate' type='text/html' href='http://penguin-playground.blogspot.com/2008/07/married.html' title='Married'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-367039639200834638.post-4493295830581831915</id><published>2008-04-20T22:45:00.000-07:00</published><updated>2009-05-21T10:33:17.501-07:00</updated><title type='text'>News About my Wireless Experiments</title><content type='html'>&lt;div xmlns=&#39;http://www.w3.org/1999/xhtml&#39;&gt;&lt;p&gt;I have upgraded my wireless router from DD-WRT to OpenWRT 7.09.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Also, my &lt;a href=&#39;http://www.svwux.org/&#39;&gt;SVWUX&lt;/a&gt; experiments are starting to bear fruit. Basically, we are trying to build a wide scale IPv6 network with wireless interconnections between our different network locations.&lt;/p&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://penguin-playground.blogspot.com/feeds/4493295830581831915/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/367039639200834638/4493295830581831915' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/367039639200834638/posts/default/4493295830581831915'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/367039639200834638/posts/default/4493295830581831915'/><link rel='alternate' type='text/html' href='http://penguin-playground.blogspot.com/2008/04/news-about-my-wireless-experiments.html' title='News About my Wireless Experiments'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-367039639200834638.post-2491693943306091113</id><published>2008-04-11T10:37:00.000-07:00</published><updated>2009-05-21T10:33:17.501-07:00</updated><title type='text'>LUGRadio Event</title><content type='html'>So, I am volunteering to help out at the &lt;a href=&quot;http://lugradio.org/live/USA2008/&quot;&gt;LUGRadio Live USA&lt;/a&gt; event in San Francisco. I clearly have the best job EVER. :-)</content><link rel='replies' type='application/atom+xml' href='http://penguin-playground.blogspot.com/feeds/2491693943306091113/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/367039639200834638/2491693943306091113' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/367039639200834638/posts/default/2491693943306091113'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/367039639200834638/posts/default/2491693943306091113'/><link rel='alternate' type='text/html' href='http://penguin-playground.blogspot.com/2008/04/lugradio-event.html' title='LUGRadio Event'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-367039639200834638.post-6908191092783634050</id><published>2008-03-23T01:12:00.000-07:00</published><updated>2009-05-21T10:33:17.501-07:00</updated><title type='text'>Battlestar Gallactica with friends</title><content type='html'>&lt;div xmlns=&#39;http://www.w3.org/1999/xhtml&#39;&gt;&lt;p&gt;So...is it possible to watch all of season 1 of Battlestar Gallactica in one night? For tonight, the answer is no. :-P&lt;/p&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://penguin-playground.blogspot.com/feeds/6908191092783634050/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/367039639200834638/6908191092783634050' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/367039639200834638/posts/default/6908191092783634050'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/367039639200834638/posts/default/6908191092783634050'/><link rel='alternate' type='text/html' href='http://penguin-playground.blogspot.com/2008/03/battlestar-gallactica-with-friends.html' title='Battlestar Gallactica with friends'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>