I've been a Blackberry user for the past several years. I also like to use my phones in conjunction with FreeBSD. Here are some questions and answers related to making the phones and FreeBSD play nice. Q: You use a Blackberry? A: Shut up. Don't judge me. Q: Any special reason? A: I don't want an iThing and I don't want a phone that runs Linux. Q: What Blackberry phones have you owned? A: I started out with the Curve 8320 and then upgraded to the Bold 9900. Most recently I acquired a Z10. Q: What provider do you use? A: T-Mobile US Q: What plan do you have? A: Unlimited talk/data with the top tier mobile hotspot add-on. It comes to about USD$92 a month total (including all taxes and fees). Q: Does T-Mobile even sell Blackberry phones anymore? A: No. Recently the CEO of T-Mobile tweeted about a promotion to get Blackberry users to "upgrade" to the iPhone, and the CEO of Blackberry became upset at this. As a result, Blackberry did not renew T-Mobile's license to sell their phones. Q: Can you still use Blackberry phones on T-Mobile? A: Yes. They let you use any phone you want, as long as it works on their service. Q: Which Z10 model do you have? A: There are 5 different versions of the Z10 (not including the black and white case versions). They are: STL100-1 model RFG81UW international (no 4G) STL100-2 model RFH121LW international STL100-3 model RFF91LW US: AT&T/T-Mobile Canada: Bell Canada/Rogers/TELUS STL100-3 model RFK121LW US: AT&T/T-Mobile Canada: Bell Canada/Rogers/TELUS STL100-4 model RFA91LW US: Verizon/MetroPCS/Sprint The STL100-1 and -2 are for international markets. The -1 is for markets that don't have 4G or 4GLTE service. Since it doesn't do 4G/LTE speeds, it has a slower CPU than all the other models. The STL100-4 is specifically for Verizon Wireless in the US. The STL100-3 is for US and Canada and comes in two flavors, with the only difference being that the RFK121LW model supports everything that the RFF91LW does with the addition of HSPA+ band 4 (1700Mhz). The RFK121LW is the phone recommended for T-Mobile US. This is the one I have. I bought a factory unlocked one, put my T-Mobile SIM in it, and it Just Worked (tm). Be careful if you try to buy one: many vendors don't specify what model phone they're selling and it's easy to get confused. (For example the STL100-1 will work on T-Mobile's network in the US, but only at 2G data speeds.) Ask the vendor to tell you what's written on the side of the box (the model number is there). Q: What are the main differences between the 8320, 9900 and Z10? A: The 8320 is a 2G-only phone. The 9900 is 4G. The Z10 is 4GLTE. The 8320 and 9900 use the older Blackberry OS. The most recent version is BBOS 7. The Z10 uses BBOS 10, which is based on the QNX embedded OS. Also, the 8320 and 9900 have physical keyboards while the Z10 has a touch screen only (with virtual keyboard support), more like a typical iPhone or Android phone. Oh, and the 8320 and 9900 use normal SIM cards while the Z10 uses a micro-SIM. Q: What OS does your Z10 have? A: Blackberry OS 10.2.1.3062. (Out of the box it had an older version, but there was an over-the-air update waiting as soon as I activated it on T-Mobile's network.) Q: Is it possible to run OS 10.3 on it? A: Yes, there are many leaked builds of OS 10.3 with installers for the Z10 available, but I haven't tried them. As far as I'm concerned, the phone seems to work fine, and I don't want to risk wrecking it since they're hard to find now. Q: How did you use the 8320 and 9900 with FreeBSD? A: In conjunction with the Barry software package, which is available here: http://www.netdirect.ca/software/packages/barry Q: What can you do with Barry? A: Once you connect your phone via USB, you can acquire its model number, dump its databases (including the contact list), take screenshots, manage apps, reset the phone and do USB tethering (the latter in conjunction with the ppp(8) utility). Q: How can you connect a FreeBSD machine to the internet with the 8320 or 9900? A: With the 8320, you have to use either use USB or Bluetooth tethering. With the 9900 you can use USB or Bluetooth tethering too, but it also has wifi hotspot support. Q: Do you need Barry for Bluetooth tethering? A: No. You only need Barry for USB tethering, because the 8320 and 9900 use a proprietary protocol over USB. With Bluetooth, you can use FreeBSD's supplied utilities, namely rfcomm_sppd(8) and ppp(8). (The 8320 and 9900 use the dial-up networking (DUN) profile for tethering.) Q: How do you pair a Blackberry device with FreeBSD? A: The method is the same for any bluetooth device. You need to first make sure your FreeBSD host has a working bluetooth device, either built in or as a USB dongle. Most devices are identified as ubt0. Once your sure you have working bluetooth hardware, use the following instructions: 1) Add the following to your /etc/rc.conf file: hcsecd_enable="YES" bthidd_enable="YES" sdpd_enable="YES" 2) Create an /etc/bluetooth/hosts file with an entry for your device, e.g.: 00:00:e8:01:02:03 Z10 3) Create an /etc/bluetooth/hcsecd.conf file with an entry for your device, e.g.: device { bdaddr 00:00:e8:01:02:03; name "Z10"; key nokey; pin "1234"; } 4) Reboot the system and make sure all the bluetooth daemons from rc.conf are started. You should now be able to initiate pairing either from the device or by trying to connect with one of the FreeBSD bluetooth clients (rfcomm_spppd, btpand). When prompted for a pin on the phone, enter the pin specified in hcsecd (1234, in the example above). Q: How do you use the wifi hotspot feature? A: Assuming you have a supported wifi NIC in your FreeBSD machine, you only need to enable wpa_supplicant(8) and use wpa_gui to connect to the Blackerry's hotspot access point. You may not need wpa_supplicant(8) if you don't set a password on the hotspot network, but it's recommended that you do set one so that nobody else can steal your bandwidth. Q: Does Barry work with the Z10? A: No. However for the most part you don't really need it with the Z10 either. Q: How do you connect a FreeBSD machine to the internet with the Z10? A: There are three options: wifi hotspot, Bluetooth tethering and USB tethering. All three work seamlessly with FreeBSD. Q: How do I use USB tethering on the Z10 with FreeBSD? A: Use the following instructions: 1) Go to the Settings screen on the phone and select Storage and Access 2) Set "Access to Storage" to "Connect to Mac" (the default is "Autodectect") 3) Scroll down to the bottom of the Storage and Access screen and make sure "USB Mass Storage" is turned off. 4) Now plug the Z10 into a USB port on your FreeBSD machine. The following (or something similar) should appear on the console: cdce0: at uhub4, port 6, addr 4 (disconnected) ugen4.4: at usbus4 cdce0: on usbus4 ue0: on cdce0 5) Go back to the Settings screen on the phone and select Network and Connections, and then choose Internet Tethering. 6) Set "Connect using" to "USB" (the default is "Bluetooth") and then turn Internet Tethering on. The phone should say "Connecting" with a swirly animation and then say "Connected to Network" after a few seconds. 7) On the FreeBSD machine, run the following as root: # dhclient ue0 You should be able to acquire a lease. At this point, you're on the internet. Q: How do I use Bluetooth tethering on the Z10 with FreeBSD? A: Assuming you already have bluetooth set up on your FreeBSD machine, use the following instructions: 1) Go to the Settings screen and select Networks and Connections, and then choose Internet Tethering. 2) Set "Connect using" to "Bluetooth" (this should be the default) and turn Internet Tethering on. The phone should say "Connecting" with a swirly animation and then say "Connected to Network" after a few seconds. 3) Go back to Networks and Connections and select Bluetooth 4) The phone should begin automatically scanning for bluetooth devices. Your FreeBSD machine should be detected as a "computer" device with the name "hostname (ubt0)." If it doesn't show up right away, click "Refresh" to have it scan again. 5) Tap the device to initiate pairing, and enter the pin you set for it in hcsecd.conf. 6) The device should now show up as "connected" (with green letters) 7) On the FreeBSD machine, run the following as root: # btpand -a z10 -d ubt0 -s NAP # dhclient tap0 Note that "z10" is the hostname you specified for your phone in your /etc/bluetooth/hosts file. Once dhclient finishes, you should have internet connectivity via the tap0 interface. Note that your network speed will be limited to the bluetooth link speed. Typically USB tethering or wifi hotspot tethering will be much faster. Q: What kind of network speeds do you get with the Z10? A: Using 4GLTE service, download speeds are about 32Mbps, and upload speeds can be as good as 20Mbps, depending on conditions. Q: Is there a way to back up my phone's contact list to FreeBSD? A: For the 8320 and 9900, it's possible to dump the phone databases using Barry. Alternatively, you can use the Device Switch feature to back up the phone's data to the SD card. The SD card contents can then be backed up on your FreeBSD machine. Note however that the built-in device switch feature requires the use of a password to encrypt the data, which means that while you can save the files, you can't read them (you can only restore them back to your phone). For the Z10, you can install the Device Switch app from the Blackberry World store. This app will allow you to back up your phone's info, including your contact list, to the SD card. The contact list will be in plain text XML format.