fetapi/README.md

3.4 KiB

fetapi - FeTAp with a Raspberry Pi

                                        ,ooFeTApFeTApFeTA%=+-,.
                                ,+FeTAp+'                      `o,,
                         ,oFeTAp+                                  `,
                     ,ooo'                 ,oFeTApFeTAp             o
                   oo              +FeTAp+'            `oo,          H
                  o              o'                      X o         l
              ,@=@+             o          ,,-+*==+-.,    R o      .;
           ,@=@+  o            o'        ,/   22  11  ``,   E`ooooo'
          @@*   @@ oo         o'        /  33 , ` ` ,    ;   T
          @:n   T:@ oo       o         ; 44 ,         .   \  L
          uM:m  A:K   oFeTAp'          ;55 ,           :   ;  A
          E:Rn  N:t      F,            | ` :           ;   |   H
         SC:h    K:o      e,           ` 66 `         , dHHH   C
        A:Ll      L:s      r,           `  77  `. , . 0  `q/    S
      ER:a        P:U       n,            \   88  99  00 ,'      L
     R:Be          i:M       s              `<,,______,-`    sZ, E
    i:T             E:r       p,                             `sZ B
    S:K              l:T       r,                                A
     o:N             H:a        e,                               G
      t:a           s:c          c,                         ,x+x+'
        k:T:@:U:M:R:n;             h,             ,p+e+r+a+t/
          `@:n:M:E:'                `T=i=s=c=h=A=p/

Installation

Some of the following instructions must be executed with root privileges.

Installing fetapd

  1. Clone this repository (together with pylinphone as sub-module)

    cd /opt
    
    git clone https://git.blinkenbunt.org/LUG-Saar/fetapi.git
    git submodule update
    
  2. Configure and enable fetapd as systemd service

    ln -sr fetapd.service /etc/systemd/system/
    systemctl daemon-reload
    systemctl enable fetapd
    

Installing linphone-cli on Raspbian

  1. Install debootstrap

    apt install debootstrap
    
  2. Create a Debian/sid chroot environment

    cd /var/tmp
    mkdir debian-sid
    
    debootstrap --arch=armel --foreign --variant=minbase sid ./debian-sid http://ftp.de.debian.org/debian
    
    chroot debian-sid/ /debootstrap/debootstrap --second-stage
    

    Note: Without --variant=minbase, sound won't work for some strange, unknown reason.

  3. Install linphone-cli inside the chroot environment

    chroot debian-sid/ apt -y install linphone-cli
    
  4. Create user inside the chroot environment

    chroot /var/tmp/debian-sid adduser --disabled-password pi
    
  5. Bind-mount /dev to make ALSA accessible within the chroot

    cat <<EOF >>/etc/fstab
    /dev /var/tmp/debian-sid/dev none bind 0 0
    EOF
    
    mount -a
    
  6. Copy Linphone configuration file

    cp linphone.conf /var/tmp/debian-sid/home/pi/
    
  7. Configure and enable linphone-daemon as systemd service

    ln -sr linphone-daemon.service /etc/systemd/system
    systemctl daemon-reload
    systemctl enable linphone-daemon
    

Configuring fetapd

⚠️ TODO

Identifying soundcard

# chroot /var/tmp/debian-sid /usr/bin/linphonec
...
linphonec> soundcard list
0: ALSA: default
1: ALSA: bcm2835 Headphones
2: ALSA: C-Media USB Headphone Set

Starting fetapd

systemctl start fetapd

(or simply reboot your FeTAp)