[BRLTTY] Bluetooth: No go

Lee Maschmeyer leemer1 at comcast.net
Sun Oct 2 09:42:11 EDT 2011


OK gang,

Feeling masochistic I decided to try Bluetooth. The result was abysmal
failure. Attached is brltty's config file. A few uncommented lines at
the beginning are the only significant contents; everything else is
commented out. Attached also is a typescript attempting to show the
commands I issued. It's considerably less than useful because of all
the escape sequences. Basically:

The path to pincodes is:

/var/lib/bluetooth/00:19:0E:09:48:9D/pincodes

The pin inside the Alva is indeed 0000. Split point is off. I was
doing everything as root.

Logs are not a possibility as brltty did not run. I tried it both with
and without my PAC Mate USB display connected.

And, as frosting on the cake, when I unplugged the Alva it locked up
which will require me to reinitialize.

-- 

Lee Maschmeyer

"Never imagine yourself not to be otherwise than what it might appear
to others that what you were or might have been was not otherwise than
what you had been would have appeared to them to be otherwise."
     --Lewis Carroll
-------------- next part --------------
# This is a configuration file template for the BRLTTY application. 
# Uncomment those entries which apply to your personal needs and system
# requirements.

# BRLTTY expects to find its configuration file in "/etc/brltty.conf"
# (can be overridden with the -f [--configuration-file=] option).
# If it doesn't exist, then BRLTTY silently continues but may require
# that certain command line options be explicitly supplied.

# Blank lines are ignored. The character '#', anywhere on a line,
# initiates a comment; all characters from it to the end of that line
# are ignored.

# Each configuration entry consists of a keyword followed by its operand.
# An arbitrary amount of white space, (blanks and/or tabs), may occur
# before the keyword, as well as before and after the operand. Keyword
# processing is not case sensitive. Examples of valid entries are:
#
#	Braille-Driver	pm	# Papenmeier braille displays.
	braille-device	usb:,bluetooth:00:19:0E:09:48:9D
	SPEECH-DRIVER	al	# The Alva Text to Speech System.
	contraction-table en-us-g2
	attributes-table attrib
	key-table	 keypad

# The default settings given within the following descriptions assume no
# special build options (see "./configure --help" in the top-level
# directory of the source tree.


############################
# Generic Braille Settings #
############################

# The braille-driver directive specifies the two-letter driver
# identification code of the driver for the braille display.
# If not specified, autodetection will be performed.
# (can be overridden with the -b [--braille-driver=] option)
#braille-driver	auto	# autodetect
#braille-driver	al	# Alva
#braille-driver	at	# Albatross
#braille-driver	ba	# BrlAPI
#braille-driver	bd	# Braudi
#braille-driver	bl	# BrailleLite
#braille-driver	bm	# Baum
#braille-driver	bn	# BrailleNote
#braille-driver	cb	# CombiBraille
#braille-driver	ec	# EcoBraille
#braille-driver	eu	# EuroBraille
#braille-driver	fs	# FreedomScientific
#braille-driver	ht	# HandyTech
#braille-driver	il	# IrisLinux
#braille-driver	lb	# Libbraille
#braille-driver	lt	# LogText
#braille-driver	mb	# MultiBraille
#braille-driver	md	# MDV (protocol 5)
#braille-driver	mn	# MiniBraille
#braille-driver	pm	# Papenmeier
#braille-driver	tn	# TechniBraille
#braille-driver	ts	# TSI
#braille-driver	tt	# TTY
#braille-driver	vd	# VideoBraille
#braille-driver	vo	# Voyager
#braille-driver	vr	# Virtual
#braille-driver	vs	# VisioBraille
#braille-driver	xw	# XWindow

# The braille-device directive specifies the device to which the braille
# display is connected. The generic syntax is type:device. The device
# type is optional, and, for backward compatibility, defaults to serial.
# The following devices are supported (brackets indicate optionality):
#    serial:path (relative paths are anchored at "/dev")
#    usb:[serial-number]
#    bluetooth:address
# If not specified, "usb:" will be used.
# (can be overridden with the -d [--braille-device=] option)
#braille-device	serial:	# First serial device.
#braille-device	usb:		# First USB device matching braille driver.
#braille-device	usb:nnnnn	# Specific USB device by serial number.
#braille-device	bluetooth:xx:xx:xx:xx:xx:xx	# Specific bluetooth device by address.

# The release-device directive specifies whether or not the device to which the
# braille display is connected is to be released when the current screen or
# window can't be read by BRLTTY. If not specified, "on" will be used on Windows
# platforms and "off" will be used on all other platforms.
# (can be overridden with the -r [--release-device] option)
#release-device	on	# Release the device.
#release-device	off	# Don't release the device.

# The text-table directive specifies which text translation table to
# use. Relative paths are anchored at "/etc/brltty". If not specified,
# "$(SRC_TOP)$(TBL_DIR)/text.nabcc.tbl" will be used.
# (can be overridden with the -t [--text-table=] option)
#text-table	cz	# Czech (iso-8859-2)
#text-table	da	# Danish
#text-table	de	# German
#text-table	en_UK	# English (United Kingdom)
#text-table	en_US	# English (United States)
#text-table	es	# Spanish
#text-table	fr_CA	# French (Canada)
#text-table	fr_FR	# French (France)
#text-table	fr-2007	# French (Unified)
#text-table	fr-cbifs	# French (Code Braille Informatique Fran?ais Standard)
#text-table	it	# Italian
#text-table	nabcc	# North American Braille Computer Code
#text-table	no-h	# Norwegian and German
#text-table	no-p	# Norwegian
#text-table	pl	# Polish (iso-8859-2)
#text-table	pt	# Portuguese (iso-8859-1)
#text-table	ru	# Russian (koi8-r)
#text-table	se	# Swedish (1996 standard)
#text-table	se-old	# Swedish (1989 standard)
#text-table	vni	# Vietnamese

# The attributes-table directive specifies which attributes translation
# table to use. Relative paths are anchored at "/etc/brltty". If not
# specified, "$(SRC_TOP)$(TBL_DIR)/attributes.tbl" will be used.
# (can be overridden with the -a [--attributes-table=] option)
#attributes-table	attributes.tbl	#
#attributes-table	attrib.tbl	#

# The contraction-table directive specifies which braille contraction
# table to use. Relative paths are anchored at "/etc/brltty". If not
# specified, no contraction table will be available.
# (can be overridden with the -c [--contraction-table=] option)
#contraction-table	compress	# Remove excess white space.
#contraction-table	en-uebc-g2	# Grade 2 Unified English Braille Code
#contraction-table	en-us-g2	# Grade 2 American English
#contraction-table	fr-abrege	# Contracted French
#contraction-table	fr-integral	# Uncontracted French
#contraction-table	zh-tw-big5	# Taiwanese Chinese (using BIG5 characters)
#contraction-table	zh-tw-gb2312	# Taiwanese Simplified Chinese
#contraction-table	zh-tw-ucb	# Taiwanese Unique Chinese Braille
#contraction-table	zh-tw-utf8	# Taiwanese Chinese (using UTF-8 characters)


#############################
# Braille Driver Parameters #
#############################

# The braille-parameters directive passes non-generic parameters through
# to the braille driver.
# (can be overridden with the -B [--braille-parameters=] option)
#braille-parameters driver:parameter=setting,...

# BrlAPI Braille Driver Parameters
#braille-parameters ba:Auth=/etc/brlapi.key
#braille-parameters ba:Host=:0

# BrailleLite Braille Driver Parameters
#braille-parameters bl:BaudRate=9600 # [300,600,1200,2400,4800,9600,19200,38400]
#braille-parameters bl:KbEmu=yes # [yes,no]

# Baum Braille Driver Parameters
#braille-parameters bm:Protocols=default # [default,all,native]
#braille-parameters bm:VarioKeys=no # [no,yes]

# BrailleNote Braille Driver Parameters
#braille-parameters bn:StatusCells=0

# FreedomScientific Braille Driver Parameters
#braille-parameters fs:DebugPackets=no # [no,yes]
#braille-parameters fs:StatusCells= # [0,n,-n]

# HandyTech Braille Driver Parameters
#braille-parameters ht:InputMode=no # [no,yes]

# Libbraille Braille Driver Parameters
#braille-parameters lb:Device=/dev/ttyS0 # 
#braille-parameters lb:Driver=auto # 
#braille-parameters lb:Table=us.tbl # 

# Papenmeier Braille Driver Parameters
#braille-parameters pm:ConfigFile=/etc/brltty/brltty-pm.conf
#braille-parameters pm:DebugKeys=no # [no,yes]
#braille-parameters pm:DebugReads=no # [no,yes]
#braille-parameters pm:DebugWrites=no # [no,yes]

# TTY Braille Driver Parameters
#braille-parameters tt:Baud=9600 # 
#braille-parameters tt:CharSet=ISO8859-1 # 
#braille-parameters tt:Columns=40 # [1-80]
#braille-parameters tt:Lines=1 # [1-3]
#braille-parameters tt:Locale= # 
#braille-parameters tt:Term=vt100 # [terminfo]

# VisioBraille Braille Driver Parameters
#braille-parameters vs:Baud=57600 # 
#braille-parameters vs:DisplaySize=40 # [20-40]
#braille-parameters vs:PromVersion=4 # [3-6]

# Voyager Braille Driver Parameters
#braille-parameters vo:InputMode=no # [no,yes]
#braille-parameters vo:StatusCells=3 # [0,n,-n]

# XWindow Braille Driver Parameters
#braille-parameters xw:Columns=40 # [1-80]
#braille-parameters xw:Input=off # [off,on]
#braille-parameters xw:Lines=1 # [1-3]
#braille-parameters xw:Model=bare # [bare]
#braille-parameters xw:TkParms= # 


###########################
# Generic Speech Settings #
###########################

# The speech-driver directive specifies the two-letter driver
# identification code of the driver for the speech synthesizer.
# If not specified, autodetection will be performed.
# (can be overridden with the -s [--speech-driver=] option)
#speech-driver	auto	# autodetect
#speech-driver	al	# Alva
#speech-driver	bl	# BrailleLite
#speech-driver	cb	# CombiBraille
#speech-driver	es	# ExternalSpeech (executes /usr/local/bin/externalspeech)
#speech-driver	fl	# FestivalLite (text to speech engine)
#speech-driver	fv	# Festival (text to speech engine)
#speech-driver	gs	# GenericSay (pipes to /usr/local/bin/say)
#speech-driver	mp	# Mikropuhe (text to speech engine)
#speech-driver	sd	# SpeechDispatcher (text to speech server)
#speech-driver	sw	# Swift (text to speech engine)
#speech-driver	th	# Theta (text to speech engine)
#speech-driver	vv	# ViaVoice (text to speech engine)

# The speech-fifo directive specifies the path to the FIFO used by the speech
# pass-through facility. Relative paths are anchored at "/etc/brltty".
# If not specified, the speech pass-through facility isn't enabled.
# (can be overridden with the -F [--speech-fifo=] option)
#speech-fifo	spk


############################
# Speech Driver Parameters #
############################

# The speech-parameters directive passes non-generic parameters through
# to the speech driver.
# (can be overridden with the -S [--speech-parameters=] option)
#speech-parameters driver:parameter=setting,...

# ExternalSpeech Speech Driver Parameters
#speech-parameters es:Program=/usr/local/bin/externalspeech
#speech-parameters es:Uid=65534
#speech-parameters es:Gid=65534

# Festival Speech Driver Parameters
#speech-parameters fv:Command=festival # [/path/to/command]
#speech-parameters fv:Name= # [kevin,kal]

# FestivalLite Speech Driver Parameters
#speech-parameters fl:Pitch=100 # [50-200]

# GenericSay Speech Driver Parameters
#speech-parameters gs:Command=/usr/local/bin/say

# Mikropuhe Speech Driver Parameters
#speech-parameters mp:Name= # [/path/to/mikropuhe/name.pu5]
#speech-parameters mp:Pitch=0 # [-10-10]

# SpeechDispatcher Speech Driver Parameters
#speech-parameters sd:Language= # [two-letter language code]
#speech-parameters sd:Module= # [flite,festival,epos-generic,dtk-generic,...]
#speech-parameters sd:Port=6560 # [1-65535] # [1-65535]
#speech-parameters sd:Voice= # [male1,female1,male2,female2,male3,female3,child_male,child_female]

# Swift Speech Driver Parameters
#speech-parameters sw:Name= # [voice,/path/to/voice]

# Theta Speech Driver Parameters
#speech-parameters th:Age= # [1-99,-1--99]
#speech-parameters th:Gender= # [male,female,neuter]
#speech-parameters th:Language= # [two-letter language code]
#speech-parameters th:Name= # [voice,/path/to/voice]
#speech-parameters th:Pitch=0.0 # [-2.0-2.0]

# ViaVoice Speech Driver Parameters
#speech-parameters vv:IniFile=/usr/lib/ViaVoiceTTS/eci.ini
#speech-parameters vv:SampleRate= # [8000,11025,22050]
#speech-parameters vv:AbbreviationMode= # [on,off]
#speech-parameters vv:NumberMode= # [word,year]
#speech-parameters vv:SynthMode= # [sentence,none]
#speech-parameters vv:TextMode= # [talk,spell,literal,phonetic]
#speech-parameters vv:Language= # [AmericanEnglish,BritishEnglish,CastilianSpanish,MexicanSpanish,StandardFrench,CanadianFrench,StandardGerman,StandardItalian,SimplifiedChinese,BrazilianPortuguese]
#speech-parameters vv:Voice= # [AdultMale,AdultFemale,Child,ElderlyFemale,ElderlyMale]
#speech-parameters vv:VocalTract= # [male,female]
#speech-parameters vv:Breathiness= # [0-100]
#speech-parameters vv:HeadSize= # [0-100]
#speech-parameters vv:PitchBaseline= # [0-100]
#speech-parameters vv:PitchFluctuation= # [0-100]
#speech-parameters vv:Roughness= # [0-100]


##################
# Sound Settings #
##################

# The pcm-device directive specifies the device to use for soundcard
# digital audio. If not specified, a method- and system-dependent
# default will be used.
# (can be overridden with the -p [--pcm-device=] option)
#pcm-device	/path/to/device	# most methods
#pcm-device	pcm-handle-id	# ALSA (see second parameter of snd_pcm_open)

# The pcm-device directive specifies the device to use for the Musical
# Instrument Digital Interface. If not specified, a method- and
# system-dependent default will be used.
# (can be overridden with the -m [--midi-device=] option)
#midi-device	/path/to/device	# most methods
#midi-device	client:port	# ALSA (may use number or case-sensitive substring of name)


##########################
# Miscellaneous Settings #
##########################

# The library-directory directive specifies the absolute path to the
# directory which contains the dynamically loadable drivers. If not
# specified, /lib/brltty will be used.
# (can be overridden with the -L [--library-directory=] option)
#library-directory /lib/brltty

# The writable-directory directive specifies the absolute path to a directory
# which can be written to (creation of missing but needed resources, etc). If
# not specified, "/lib/brltty/rw" will be used.
# (can be overridden with the -W [--writable-directory=] option)
#writable-directory /lib/brltty/rw

# The data-directory directive specifies the absolute path to the directory
# which contains driver data files (help files, configuration files, etc.). If
# not specified, "/etc/brltty" will be used.
# (can be overridden with the -D [--data-directory=] option)
#data-directory /etc/brltty

# The tables-directory directive specifies the absolute path to the directory
# which contains the text and attributes tables. If not specified,
# "/etc/brltty" will be used.
# (can be overridden with the -T [--tables-directory=] option)
#tables-directory /etc/brltty

# The contractions-directory directive specifies the absolute path to the
# directory which contains the contraction tables. If not specified,
# "/etc/brltty" will be used.
# (can be overridden with the -C [--contractions-directory=] option)
#contractions-directory /etc/brltty


################################################
# Application Programming Interface Parameters #
################################################

# The api-parameters directive passes parameters to the Application
# Programming Interface.
# (can be overridden with the -A [--api-parameters=] option)
#api-parameters parameter=setting,...

#api-parameters Auth=/etc/brlapi.key
#api-parameters Host=:0
#api-parameters StackSize=65536


###########################
# Generic Screen Settings #
###########################

# The screen-driver directive specifies the two-letter driver
# identification code of the driver for the console screen.
# (can be overridden with the -x [--screen-driver=] option)
#screen-driver	as	# AtSpi
#screen-driver	pb	# PCBIOS
#screen-driver	hd	# Hurd
#screen-driver	lx	# Linux
#screen-driver	sc	# Screen
#screen-driver	wn	# Windows


############################
# Screen Driver Parameters #
############################

# The screen-parameters directive passes non-generic parameters through
# to the screen driver.
# (can be overridden with the -X [--screen-parameters=] option)
#screen-parameters driver:parameter=setting,...

# AtSpi Screen Driver Parameters
#screen-parameters as:Type=text+terminal # [text,terminal,all]

# Linux Screen Driver Parameters
#screen-parameters lx:Acm=auto # [auto,iso01,vt100,cp437,user]
#screen-parameters lx:DebugAcm=no # [no,yes]
#screen-parameters lx:DebugSfm=no # [no,yes]
#screen-parameters lx:DebugCtt=no # [no,yes]
#screen-parameters lx:Hfb=auto # [auto,vga,fb,0-7]

# Windows Screen Driver Parameters
#screen-parameters wn:Root=no # [no,yes]


-------------- next part --------------
Script started on Sun 02 Oct 2011 08:15:35 AM EDT
0/pts/0(2)# pwd
/usr/src/brltty
0/pts/0(2)# pidof brltty
18924
0/pts/0(2)# ls /dev/bluetooth
/bin/ls: cannot access /dev/bluetooth: No such file or directory
2/pts/0(2)# ls /dev/Bluetooth
/bin/ls: cannot access /dev/Bluetooth: No such file or directory
2/pts/0(2)# ls /var
/ backups
/ cache
/ crash
/ games
/ lib
/ local
/ lock
/ log
/ mail
/ opt
/ run
/ spool
/ tmp
0/pts/0(2)# ls /var/lib

/ brltty
/ dbus
/ defoma
/ dhcp3
/ dictionaries-common
/ displayconfig-gtk
/ doc-base
/ dpkg
/ emacs22
/ emacsen-common
/ gcj-4.2
/ gconf
/ gdm
/ gnome-session
/ guidance-backends
/ hal
/ initramfs-tools
/ initscripts
/ libuuid
/ locales
/ logrotate
/ misc
/ mlocate
/ NetworkManager
/ ntp
/ ocaml
/ otags
/ PolicyKit
/ PolicyKit-public
/ python-support
/ scrollkeeper
/ security
/ sgml-base
/ snmp
/ synaptic
/ tex-common
/ texmf
/ thunderbird
/ ucf
/ ufw
/ update-manager
/ update-notifier
/ urandom
/ vim
/ x11
/ xkb
/ xml-core
f BrlAPI.0
? BrlAPI0

M/ BrlAPI
M/ bluetooth
M/ belocs
M/ avahi-autoipd
M/ aspell
M/ aptitude
M/ apt
M/ apparmor
M/ alsa
M/ aide
M/ acpi-support
:80%
0/pts/0(2)# ls /var/lib/bluetooth
/ 00:19:0E:09:48:9D
0/pts/0(2)# ls /var/lib/bluetooth/00:19:0E:09:48:9D
f pincodes
0/pts/0(2)# ls /var/lib/bluetooth/00:19:0E:09:48:9D
 /var/lib/bluetooth/00:19:0E:09:48:9D
c /var/lib/bluetooth/00:19:0E:09:48:9D
a /var/lib/bluetooth/00:19:0E:09:48:9D
t /var/lib/bluetooth/00:19:0E:09:48:9D
/pincodes
00:19:0E:09:48:9D 0000
0/pts/0(2)# less Documents/README.Bluetooth 

~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
One way to pair a Bluetooth device on Linux is as follows:

Find out your host's Bluetooth Device Address via the command "hciconfig hci0". 
Then go into the directory "/var/lib/bluetooth/<host-address>. In there (create 
if necessary) is the file "pincodes". This file contains one device per record. 
Each record has two fields separated by space. The first field is the device's 
Bluetooth Device Address and the second field is its PIN. The Bluetooth Device 
Address must be in uppercase. So:

   cat /var/lib/bluetooth/01:23:45:67:89:AB/pincodes
   12:34:56:78:9A:BC 1234

~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~

0/pts/0(2)# exit

Script done on Sun 02 Oct 2011 08:44:49 AM EDT
-------------- next part --------------
00:19:0E:09:48:9D 0000


More information about the BRLTTY mailing list