FreeBSD and Iomega ZIP Drives

Iomega ZIP drives and disks are dead technology, but I have an old box from 1999 that has a fully functioning 100MB ZIP drive. Out of the box, FreeBSD supports these devices through the SCSI subsystem. During the boot process, FreeBSD recognizes the drive as /dev/da0.

da0 at ata0 bus 0 scbus0 target 1 lun 0
da0: <IOMEGA ZIP 100 12.A> Removable Direct Access SCSI device
da0: 11.100MB/s transfers (PIO3, ATAPI 12bytes, PIO 65534bytes)
da0: Attempt to query device size failed: NOT READY, Medium not present

The last line is not a critical failure, it just means that there is no ZIP disk inserted in the drive. Rebooting the machine with a ZIP disk inserted results in the following output:

da0 at ata0 bus 0 scbus0 target 1 lun 0
da0: <IOMEGA ZIP 100 12.A> Removable Direct Access SCSI device
da0: 11.100MB/s transfers (PIO3, ATAPI 12bytes, PIO 65534bytes)
da0: 96MB (196608 512 byte sectors: 255H 255S/T 3C)

The last line shows that the ZIP disk media was recognized, and the number of 512-byte blocks is listed. A disk can be inserted at any time, and interestingly enough, when a disk is inserted into the driver, there are no messages in /var/log/messages indicating which partition the media is listed as. Running a listing on the devices in /dev can reveal some hints though.

root@bsdbox:/media # ls /dev
acpi consolectl kbd0 pci ttyv4
….
… da0 …
… da0s4 …

The drive represents the ZIP media on /dev/da0s4. According to older documentation from FreeBSD 6, slice 4 is where the device driver places the media partition.  To access the ZIP disk, first create a mount point on the filesystem, such as /media/zipdisk, and then mount the device using the mount(8). The zip disks I have are FAT formatted, so I need to use the “-t msdosfs” option.

root@bsdbox:/meda # mkdir /media/zipdisk
root@bsdbox:/meda # mount -t msdosfs /dev/da0s4 /media/zipdisk

This disk is now available on /media/zipdisk for reading and writing.  When finished with the disk, before physically ejecting it, be sure to unmount the filesystem first.

root@bsdbox:/meda # umount /media/zipdisk

Now it is safe to press the disk eject button on the drive. Of course for frequent use of a ZIP drive, entries should be added to /etc/fstab to make things easier. For infrequent use, however, the above methodology should work just fine!

Synopsys NAS Stable!

I logged into my NAS yesterday and was informed that DSM 6.0.2-8451 Update 7 was available to install. I proceeded with the update, and the NAS started the install. As it neared the 100% mark, I realized that this would be the moment of truth. Will I still have these power management issues?  After some time, I heard that NAS beep, indicating that it had rebooted. I was pleased so far, I didn’t have to manually power cycle the system!  Within a couple of minutes the NAS was back up online and I was able to log in as admin.

Success! It looks like finally the power management issues are behind me. The Intel firmware appears to have fixed the problem.

Trying Vada Pav

An Indian fast food franchise shop recently opened up in the area. I was out running errands today and realized it was 14:00 already, and I was “starving”, so I decided to give the shop a try. The theme of the shop was Indian takes on “Western” style foods like burgers, sandwiches and pizza, such as masala veggie burgers or Tandoori paneer pizza. There were several other dishes on the menu that were totally foreign to me: vada pav, veggie masala pav, and some other chick-pea curry type dishes with various garnishments such as eggs or nann.

Without knowing anything about the vada pav other than a picture on the menu, I decided to begin my adventure with the Mumbai-style vada pav. The shop offered it with mild, medium, or hot levels of spiciness.  I went with medium. It was quite delicious for just US $2.00, I would much rather have it than a McDonald’s cheeseburger or a Taco Bell taco!

According to Wikipedia, the vada pav is a deep-fried potato patty with various spices. The outside of the patty was crispy, while the inside was a dry-moist grit, yellow in color from cumin perhaps, as well as with various other spices. Until I checked Wikipedia, I honestly thought it was made of corn meal. The patty itself was enclosed on both sides by a regular hamburger bun which was nothing to write home about. However, on both sides of the hamburger buns a layer of green paste, and then a layer or red paste was spread onto the buns. It as smokin’ hot!

There is a significant Indian community where I live due to the area being a technology corridor, and I am hoping that as the community grows and thrives more such restaurants and shops will open up! Having never been to India (would like to visit some day though!) it would be nice to be able to try and experience various foods from the Indian subcontinent.

All in all the vada pav was a very good and makes a great, quick snack all on its own. I would like to try some more things from the menu, particularly dahi puri or pani puri.

Verizon FIOS and IPv6

Recently, according to ArsTechnica, North America exhausted its supply of IPv4. I can still remember first hearing about this back in college years ago, and I am surprised it has taken this long. So what about IPv6?  Linux, Mac OS X, FreeBSD, and Windows all support IPv6. Android and iPhone do as well.

I started to wonder, what is the state of IPv6 and my ISP, Verizon FIOS? Surely FIOS would support IPv6, after all it is a modern fibre network and not a legacy PSTN or DSL network, right?

Failure. According to Test-IPv6, my score is zero out of ten points. Further Google searching yielding lots of discussion about the slow roll-out IPv6 on FIOS.

I hesitate to criticize the company though. I cannot imagine the task at hand of rolling out IPv6 across all of Verizon’s networks and equipment. Verizon has put together a customer webpage to try to explain the technology. Good on them for at least recognizing that customers would be interested in learning more. Notably absent, though, are dates and milestones for the roll-out.

Note that it looks like Verizon’s LTE network is IPv6.

Someday I suppose, someday.

Silicon Vietnam

I have always been interested in SE Asia, especially use of technology and technology careers in the region. PC Magazine has an interesting article about the IT boom in Vietnam, particularly in Da Nang. The article talks about IBM’s investment in Da Nang, the academic training and the pipeline for the supply of tech workers, and start-up culture in Vietnam. Interesting read on an up and coming IT market, it will be interesting to see if it can take hold there like IT in India.

On Verilog compilers

I’ve been working on my term project for my ASIC design course, and one thing I find very disturbing is the difference in error discovery between various Verilog compilers.  My design compiled correctly with ModelSim’s vlog compiler, but GNU Icarus Verilog caught errors that ModelSim did not.  After fixing the issues I then ran my Verilog through Synopsys Design Compiler so that I could synthesize the design.  Interestingly, Design Compiler caught some rather serious bugs that both ModelSim and Icarus missed.

If I ever start my own chip design company, I will definitely invest in a Synopsys license!  It would also be interesting to run the verilog model with the errors through FPGA Verilog compilers like Xilinx or Lattice and see if those tools can catch the same errors as Design Compiler.  I have no time for that right now though…

FPGA in a CPU

Embedding a CPU via IP cores has long been popular in the world of FPGAs and ASICs.  In these times of the System-on-Chip (SoC), most large designs require a microprocessor to aid in speeding up development cycles, easing complexity, and improving time to market.  But what about CPUs with embedded FPGAs?

NetworkWorld is reporting that Intel will be embedding an Altera FPGA into the Atom E600 microprocessor.  The Atom is an Intel processor aimed at embedding computing platforms and portable devices like netbooks.  How are Intel going about doing this?  According to NetworkWorld,

In the E600C series, Intel attached the Altera FPGA to the E600 via a standard PCI Express connection with two lanes. Luse declined to comment on if or when Intel might manufacture the Atom and FPGA on a single die.

This has potentially interesting applications.  Instead of designing a separate PCIe card, engineers can now implement their design inside the CPU, reducing the need for other areas of design work, such as power circuitry, PCIe interface and circuit board layout. Designs with a PCIe interface can also be reused between regular FPGAs on a circuit board and embedded FPGAs.  While I don’t see such embedded FPGAs replacing FPGAs as they are today, I do see the potential for creating domain or application specific co-processors in the embedded FPGAs, for example, encryption engines.

I am curious about whether or not there will be an external I/O interface that connects directly to the FPGA.  I also wonder what type of clock speeds we can expect for the embedded FPGAs?