How To: SMC Barricade 7004WBR + HP-5MP + MacOSX

I’ve written previously about my HP-5MP printer. One of the things I love about it is that I’ve been able to get it to work with every computer I’ve ever had in my house – PC, Mac, Linux, you name it. Not only that, but for probably the last 8 years, I’ve been able to share it with all those computers by having it plugged into an SMC Barricade 7004WBR router/wi-fi gateway/print server.

Getting this setup to work with the MacBook I’m using (MacOSX 10.5.3) was a bit of a sticky wicket however, but I managed to get things going. For the sake of posterity, and the one and half other people out there who might care, here’s how to go about it. The trick is to use the native CUPS web interface instead of the Mac’s Print and Fax preferences, as follows …

  • On your Mac, go to to get to the CUPS interface
  • Click “Add Printer”
  • Choose “LPD/LPR Host or Printer”
  • For the Device URI, use “lpd://hostname/printer_queue_name“. Where hostname is the IP of your router/firewall/print server and printer_queue_name is the name of your print queue. In my case these were and “lp”, respectively, for a URI of “lpd://”
  • In the next couple pages, choose the make and model of your printer. (This is where the CUPS UI really shines – there are TONS of printers supported. I suspect that explicitely specifying the correct info here instead of using the generic Postscript driver is what finally got my printer working.)
  • Tweak the options for your printer if needed (I left mine alone)
  • “Add Printer” to save the new printer configuration.
  • Go back to the CUPS home page and click “Manage Printers”. From there you can print a test page to make sure everything is working correctly.

Mutual attraction authentication

“Hi, this is Mark from Experian. We’re calling to update your contact information…”

That’s how I was greeted when I answered the phone just now. This was nominally someone from one of the big 3 credit reporting agencies calling to make sure they had current contact information for their database. Harmless enough, right?

Well… probably. But I tend to be pretty guarded about giving out my personal information. It’s remarkable to me that these companies expect people to simply pick up the phone and start answering questions about names, phone numbers, addresses, and whatnot, without ever questioning whether or not the caller is who they say they are. 99% of the time I’m sure it really is someone from Experian, or Wells Fargo’s Loan department, or the Census Bureau. But the cost of misplaced trust the other 1% of the time can be pretty high. Thus I typically answer with a curt, “I’m sorry, but I don’t give out personal information to callers. Can you please give me the contact information for the person I should talk to about this?”

This invariably illicits a brief pause of confusion as they process this unexpected resistence. They’re not used to having people question their veracity. After taking a deep breath, they try again: “Um, sir, I’m the person you can talk to. I’m with First National Trans-Federal Mutual Corp” they repeat, implying, “it’s okay, we’re Big Business, you can trust us!”, which leads to a proverbial fork in the conversation.

The low road, the easy route, is to just play dumb. These folks may not understand the problems of mutual authentication, but they are wonderfully well-prepared to deal with someone who’s, shall we say, cognitively challenged. They’ll regurgitate some thank-you-for-your-business and can-we-talk-to-the-head-of-your-household speech before eventually giving up.

But occasionally I get into a benevolent mood and elaborate on why it is I don’t trust them. More often than not this leads to the same speech. But sometimes I’ll find myself debating the security of 512-bit RSA encryption, and modern applications of Merkle’s Puzzle in telemarketing… at which point I know i’m talking to a scam artist and not a real customer support person.


I’ve mentioned from time to time how keeping a blog has shaped not just my ability to write, but also to be a critical thinker. It has raised my awareness of the value of speaking clearly and eloguently.

That point was driven home again today while I was looking into the [geeky protocol I’m playing with] and the [geeky problem] I was having. As a result, I found myself browsing through the Mozilla bug database.

Now, the Mozilla bug database is an interesting beast. It is the focal point for discussion of issues related to any of the numerous Mozilla products and technologies and to date over 400,000 bugs have been filed. Nearly all of these are about fairly mundane and, well, boring topics. But once in a while one of these bugs will sing – become more of a cricket, as it were – and draw insightful commentary that broadens in scope and takes on larger, more meaningful issues.

Which is how I found myself scanning through the comments of bug #307813. In brief, the bug started as a complaint about having to type ‘<svg xmlns="hhtp://">‘ instead of the simpler and more convenient ‘<svg>‘ in a particular file format. And that’s as technical as I’m going to get. Like I said, boring and mundane.

But the dialogue (in the comments section) is interesting – it quickly evolves from the trivial issue to the broader question of policy, and the philosophical beliefs about what users need or want. (e.g. “Trying to teach pigs to sing just annoys ’em.”) And so I found myself not just scanning, but really reading comment #14. There was something about the writing style and the mind behind it that caught my attention. It seemed particularly articulate and insightful. It has interesting references to other writings. It was compelling.

Only after I’d read it, and had that, “Wow, nicely said!”, reaction did I look at who the author was. I guess it’s no coincidence that it turned out to be Brendan Eich, the creator of JavaScript, the programming language that’s been the focus of my career for the last 8 years, and CTO for arguably the most influential OpenSource organization in the industry. You don’t influence people and industry without being articulate.

(And in true Mozilla fashion, the bug is still “NEW” more than two years after it was filed. Ah well, eloquence doesn’t solve everything.)

[Photo by George1652]

Using a router as a switch/hub

The ability to use a router as a hub is probably common knowledge in some circles, but Google yielded surprisingly little useful information on the topic. So here’s my weekly contribution to the geek knowledge base…

Your average home computer user will eventually find themselves using a router to take better advantage of their broadband connection. These little black boxes add tremendous value compared to their measly -0 price tag. On of the key features is switching – i.e. the ability to support multiple computers on the same connection. Most of these boxes have 4 ports to plug stuff into, which often leads to a problem: What do you do once you’ve plugged in your PVR, desktop computer, network printer, and docking station for the laptop?

There are a couple obvious solutions – you can buy another router with more ports, or you can buy a dedicated switch. But such devices can be a bit pricey, and if you’re like me, you already have an extra router sitting around. So, why not use that and avoid the guilt-trip involved in chucking a perfectly good networking box in the landfill! Here’s how…

The First Router

One of the nice things about this approach is that you get to leave your existing router alone. It’s probably configured more or less as follows, which’ll work fine for what we want:

WAN IP: dynamically assigned
WAN Subnet Mask:
DHCP: Enabled

The 2nd Router

Adding the 2nd router to the network is where things can get confusing. The most common mistake is to set up the 2nd router just like the first, and plug it into one of the LAN ports of the first router. If this works at all (and often it will to a degree) the results are less than desireable. What you’ve actually done here is create a 2nd sub-network, rather than extending the first. Devices on the 2nd network may have access to the internet, but they’ll be walled off from the first network. You’ll be able to browse the web on that new computer you just plugged in, but you won’t be able to share a printer with your first computer, or share files. This is inconvenient and unnecessary.

Instead, the better solution is to dumb down your 2nd router to just it’s essential switch capabilities.

Start by connecting the 2nd router’s “Uplink” port to one of the LAN ports on the first router. (The location of the uplink port varies by manufacturer, and may place restrictions on whether or not you can use the port next to it, so be sure to refer to the manual.) With that done, configure the 2nd router as follows:

WAN Settings (IP, Subnet Mask, DNS Servers, etc.): n/a
LAN IP: Statically assign to an IP on your first router’s LAN. E.g. if your first router’s LAN is 192.168.1.*, give the 2nd router an IP of (making sure you use an address outside the range reserved for DHCP clients on the first router).
DHCP: Disabled

The most important thing here is to disable DHCP – having more than one DHCP server on a network is just never a good thing. Similarly, if both routers are wi-fi enabled, you’ll should disable the wi-fi feature on the second router to keep the two wireless networks from interferring.

Assigning a static LAN IP let’s you access the 2nd router if you need to administer it (not that there’s much left to administer). It also means that if it has print server support, you can access the printer connected to it.

Finally, all the WAN Settings are moot here since there shouldn’t be anything plugged into the WAN port.

That’s pretty much it. Good luck, and if this was useful, feel free to drop a comment.

7/27/07 update: While the above setup worked fine for me, I ran out of ports again. My long(ish) term solution is to install a 16-port switch from SMC. At ~$40 it’s easy on the pocket book, and this particular box is also compact and, more importantly, fanless, so it doesn’t add to the noise in the office – an important consideration since it’s installed about two feet from where I work. It’s only minor drawback is that it’s not a gigabit switch – it won’t maximize the throughput of newer computers with gigabit network cards. But this has little practical impact for me, and shaves ~$150 off the cost.

Oh… and my old hub? I’ll be donating that to a friend of mine who’s signing up for cable broadband.

8/20/07 update: Minor edits to reflect the fact that most of these devices are switches not hubs, as pointed out by Harry, below. (See Hubs, Switches, Routers – A Hands On How To for more info). I also removed the suggestion that the 2nd router might be usable as a wireless relay point. This just isn’t in the scope of this article, and in all likelihood isn’t possible with most routers.)