BlackBerry PlayBook & Linux

While most phones, tablets, cameras and other USB devices … act as a mass-storage device, RIM has opted for another solution to the tablet PlayBook.

That’s why I post this article.

Indeed, the PlayBook looks like a CD-ROM with drivers to install for Windows !

Once the driver for Windows installed, the PlayBook looks again. It is then available as a network drive.

The PlayBook indeed behaves as a network interface. The data is then accessible via the network. If this behavior is recognized by the Linux kernel (USB NIC and CIFS support), it is not native to Windows, which requires drivers !

For Linux, two solutions :

  • Set up your PlayBook mode “Mac”.
  • Use a small driver that I wrote for the occasion.

The first solution :

The second solution :

[root@Dahlia /root]$ cd /usr/local/src/
[root@Dahlia src]$ mkdir blackberry
[root@Dahlia src]$ cd blackberry
[root@Dahlia blackberry]$ git clone git:// barry
[root@Dahlia blackberry]$ cd barry
[root@Dahlia barry]$ ./
[root@Dahlia barry]$ ./configure
[root@Dahlia barry]$ make
[root@Dahlia barry]$ make install

Note : When the driver will be included in the project Barry, you can use the official repository.

Once installation is complete, simply use the tool “bplaybook” to switch the USB interface of the tablet.

[root@Dahlia barry]$ bplaybook

You should see a new network interface. And if all goes well, this interface should get an IP address via DHCP. Otherwise, you can still run a DHCP client manually on this interface.

[root@Dahlia barry]$ dhcpd usb0
[root@Dahlia barry]$ ifconfig
usb0		Link encap:Ethernet  HWaddr 72:d4:f2:78:ea:2c  
		inet adr:  Bcast:  Masque:
		adr inet6: fe80::70d4:f2ff:fe78:ea2c/64 Scope:Lien
		RX packets:26 errors:0 dropped:0 overruns:0 frame:0
		TX packets:31 errors:0 dropped:0 overruns:0 carrier:0
		collisions:0 lg file transmission:1000 
		RX bytes:2942 (2.8 KiB)  TX bytes:8518 (8.3 KiB)

The tablet must indicate that it is properly connected to the computer.

The final step is to access from the network.

To mount a network share, you have to do :

[root@Dahlia barry]$ cat /etc/passwd | grep nicolas
[root@Dahlia barry]$ mkdir /home/nicolas/playbook
[root@Dahlia barry]$ chown nicolas:users /home/nicolas/playbook
[root@Dahlia barry]$ mount -t smbfs -o username=nicolas,uid=1000,gid=100 \
    // \

You have to set the “username”, it’s the sharing name set into the network indentification panel :

The UID and GID fields read from the /etc/passwd file permit to give the good rights for the user “nicolas”.

[nicolas@Dahlia nicolas]$ ls playbook
bookmarks/  books/  camera/  documents/  downloads/  misc/  music/  photos/  print/  videos/  voice/
This entry was posted in BlackBerry, Linux and tagged , , . Bookmark the permalink.

4 Responses to BlackBerry PlayBook & Linux

  1. didier says:

    Trés bien le papier, seulement j aurais bien aime avoir le nom du driver, merci.

    • Nicolas says:

      Le nom du binaire a utilisé est, comme dit dans l’article, bplaybook.

      Ce binaire est fourni à travers le projet. Il n’est pas encore officiellement, il faut utiliser pour cela ma branche (de même voir le post).

      Il s’agit davantage d’une application plutôt qu’un driver. En effet, tout tourne en userspsce


  2. nico says:

    La procédure ne fonctionne pas avec ubuntu 12.04 ??
    Ca bloque à partir de “git clone…”
    Une solution svp ?

  3. Tom says:

    I followed the directions exactly and the install failed. Results:
    … (SNIP)
    checking whether byte ordering is bigendian… no
    checking that generated files are newer than configure… done
    configure: creating ./config.status
    config.status: creating Makefile
    config.status: error: cannot find input file: `po/’

    What can I do to make this configure?
    Thank you!

    Operating System Type : GNU/Linux
    OS Name : Kubuntu
    OS Version : 14.04.2 LTS, Trusty Tahr
    Architecture : x86_64
    Kernel Release : 3.13.0-53-generic
    Hostname : kubuntu

Leave a Reply

Your email address will not be published. Required fields are marked *