This file is indexed.

/usr/share/doc/bluez-btsco/embedv1.html is in bluez-btsco 1:0.50-0ubuntu6.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
<html>
<head>
<title>Bluetooth audio on embedded hardware</title>
</head>
<body>
<h1>Bluetooth audio on embedded hardware</h1>

I would really like the bluetooth-alsa project to get far enough along
to really shine on embedded platforms. <a
href="http://www.gumstix.com">gumstix</a> is the perfect little device
for working this out.

<h3>Completed items</h3>

<ul>
<li>Modify btsco to build in a cross-compile buildroot environment (seems to have broken again in 2.6.14 buildroot)
<li>Tweak build so kernel module snd-hwdep-new gets built (need to make sure it gets installed automatically)
<li>Figure out hcid.conf settings and required modules for audio
<li>Fix timing problem in a2play--setitimer and rtc/pthreads timers
<li>Implemented unrolled and fixed-point a2dp encoder and fixed-point decoder
<li>Implemented 32-bit fixed point codec, made it the default fixed point, moving it into its own independent library
</ul>

<h3>Status</h3>

<ul>
<li>Stereo A2DP transmission (.au file) with a2play: audio breaks up occasionally but comes back (using -n flag)
<li>Live stereo transmission from line-in: occasional bursts of static (probably endian problems again)
<li>Stereo reception with a2recv: cpu is working hard and audio is working using subbands=4,blocks=4,bitpool=12 (should work with any settings now that decoder is in fixed-point)
<li>SCO (voice-quality audio) with btsco: gumstix connects to bluetooth headset and responds to headset controls but audio is not going through
<li>Some basic AVRCP code; able to receive commands in a separate process
</ul>

<h3>To-do</h3>

<ul>
<li>fix btsco.mk for 2.6.14+ buildroot
<li>Squash the last remaining quality problems with fixed point encoding (high frequencies are distorted) and retire floating point :)
<li>Set up AVRCP to control the stream
<li>Find out if future gumstix boards could have PCM pins from infineon connected to xscale (yes! confirmed!)
<li>Find out if SCO can be mapped to HCI as it can on CSR (maybe; see bluez-devel topic <a href="http://sourceforge.net/search/?forum_id=1881&group_id=26526&words=%22sco+over+uart%22&type_of_search=mlists">"SCO over UART"</a>)
<li>Try connecting a CSR bluetooth chip to see if audio works better (see next section)
</ul>

<h3>Bluetooth 1.1 CSR Module</h3>

The avantwave class 1 module is here. The specs are <a
href=btr-140.pdf>here</a> and the specific model is
btr140-h4-921k. Now I need to connect it up. I'm going to get access
to hirose pins through the tweener vias (tweener also has a 3.3v
converter which might be usable when I try a class 2 module)

hciattach times out complaining about no connection. I have a newer
module so I'm likely to spend additional effort getting it to work.

<p>
<table>
<tr><th>BTR140</th><th>hirose</th><th>pxa</th><th>Description</th>
<tr><td>1</td><td>-</td><td></td><td>attached an mmcx post here for an external antenna
<tr><td>5</td><td>14</td><td>gpio35</td><td>steal GPIO from ffuart for btr140 active high reset
<tr><td>7</td><td>32 </td><td>gpio50</td><td>module uart rts->hwcts (asserted by module)
<tr><td>8</td><td>34 </td><td>gpio51</td><td>module uart cts<-hwrts (asserted by gumstix)
<tr><td>9</td><td>33 </td><td>gpio49</td><td>module uart tx->hwrxd (asserted by module)
<tr><td>10</td><td>35 </td><td>gpio48</td><td>module uart rx<-hwtxd (asserted by gumstix)
<tr><td>15</td><td>-</td><td></td><td>1.8v using a voltage regulator (digikey MCP1700-1802E/TO-ND or NJM2845DL118TE1CT-ND) for a max 161mA
<tr><td>6,16</td><td>30</td><td></td><td>3.3v using voltage regulator for max 161mA
<tr><td>17</td><td>1</td><td></td><td>Ground
<tr><td>11</td><td>3.3v</td><td></td><td>synchronous serial (active low) do we use synchronous??
<tr><td>18</td><td></td><td></td><td>pcm clock
<tr><td>24</td><td></td><td></td><td>gnd (dual boot fn)
<tr><td>25</td><td></td><td></td><td>pcm out
<tr><td>26</td><td></td><td></td><td>pcm in
<tr><td>27</td><td></td><td></td><td>pcm sync
<tr><td>42</td><td>-</td><td></td><td>rf ground (also surrounds pin 1)
</table>
<p>

<h3>Links</h3>

<ul>
<li><a href="embed/">Source files</a>
<li><a href="/">bluetooth-alsa project</a>
</ul>

<h3>Notes</h3>

PSKEY_HOST_INTERFACE values are 1 (BCSP), 2 (USB), 3 (H4) so I thought
we need 3. In the end it was unnecessary to change this.

<p>

PSKEY_INITIAL_BOOTMODE (x3cd) should be 4 for HCI H4. It's shipped set
to 3 for USB.

<p>

PSKEY_UART_BAUDRATE (x1be) should be x1d8 for 115k or xebf for
921k. The default was 115k so I left it alone.

<p>

It seems that PSKEY_HOSTIO_MAP_SCO_PCM (x1ab) should be 0, equivalent
to the old "pskey mapsco 0" command. There is no x1ab key and
<tt>hciconfig hci0 revision</tt> indicates <b>SCO mapping: HCI</b> so
HCI must be the default routing.

</body>
</html>