Due to the OS switch from darwin to Gentoo I also needed a solution to use the GPRS connection of my handy (Nokia N95) on Linux. Here is the way I've done it.

At first I'd suggest to follow the instructions in the Gentoo Linux Bluetooth Guide at least until section 5. In my case I had to enable hid2hci in /etc/conf.d/bluetooth with

# Run hid2hci (allowed values are "true" and "false")
HID2HCI_ENABLE=true

Afterwards you should be able to see the bluetooth device with hciconfig -a. Until that's not working you can't continue ;) .

In the /etc/bluetooth/hcid.conf I set

# HCId options
options {
        # Automatically initialize new devices
        autoinit yes;

        # Security Manager mode
        #   none - Security manager disabled
        #   auto - Use local PIN for incoming connections
        #   user - Always ask user for a PIN
        #
        security user;

        # Pairing mode
        #   none  - Pairing disabled
        #   multi - Allow pairing with already paired devices
        #   once  - Pair once and deny successive attempts
        pairing multi;
}

# Default settings for HCI devices
device {
        # Local device name
        #   %d - device id
        #   %h - host name
        name "BlueZ (%h)";

        # Local device class
        class 0x3e0100;

        # Default packet type
        #pkt_type DH1,DM1,HV1;

        # Inquiry and Page scan
        iscan enable; pscan enable;

        # Default link mode
        #   none   - no specific policy 
        #   accept - always accept incoming connections
        #   master - become master on incoming connections,
        #            deny role switch on outgoing connections
        lm accept;

        # Default link policy
        #   none    - no specific policy
        #   rswitch - allow role switch
        #   hold    - allow hold mode
        #   sniff   - allow sniff mode
        #   park    - allow park mode
        lp rswitch,hold,sniff,park;

        # Authentication and Encryption (Security Mode 3)
        #auth enable;
        #encrypt enable;
}

There is no pin-helper needed for actual bluez libs. I am using bluez-gnome as passkey-agent. In my experience pairing is one of the most tricky things in linux with bluetooth. If you bluetooth services are running you should already be able to do the pairing - after the pairing request from your mobile device was sent the bluetooth-applet should ask you for the pin and pairing should go fine. Good luck with that! ;)

Now it's time to enable bluetooth on your handy and to search for it with the following command and you should remember the mac address.

$ hcitool scan

For the communication to the modem we use RFCOMM. Therfore you've to detect the channel on which your handy provides the modem. You can browse the bluetooth features of your handy with

$ sdptool browse <handy-mac-address>;

There should be a Dial-Up Networking (or similiar) reported and the coresponding channel number. In my case it was the channel 4 which leads to the following /etc/bluetooth/rfcomm.conf

rfcomm0 {
        bind yes;
        device <handy-mac-address>;
        channel 4;
        comment "Dial up with N95";
}

If you restart the services (including rfcomm) with /etc/init.d/bluetooth restart you should already see the binded rfcomm if you enter

$ rfcomm
rfcomm0: <handy-mac-address> channel 4 closed;

Now everything is ready to use the modem on /dev/rfcomm0 with your prevered ppp connection tool. I am using kppp as it's on of the less cases were i find a applet preferable against a command line tool. The core parameters are (here for A1 - a provider in Austria - you've to substitute with the data of your provider):

Modem device: /dev/rfcomm0
Flow control: None
Connection Speed: 921600
Initialization string 1: ATZ
Initialization string 2: at+cgdcont=1,"IP","A1.net"

The account data needed fot the PAP/CHAP connection really depends on the provider - once again here for A1 - data also available here:

Phone Number: *99***1#
Authentication: PAP/CHAP
DNS 1: 194.48.124.200
DNS 2: 194.48.139.254
Username: ppp@a1plus.at
password: ppp

Have a lot of fun!