[pulseaudio-discuss] HSP profile - poor quality over UART (BCM4354 chip)
Paweł B
blizniukp at gmail.com
Thu Nov 30 14:31:46 UTC 2017
Hello.
After solve this issue
https://lists.freedesktop.org/archives/pulseaudio-discuss/2017-November/029023.html
I have next.problem.
In HSP profile voice quality is very poor (only on BCM4354 chip. In Asus
BT-400 quality is good).
After play wav file, sound run slowly (in A2DP speed is normal).
I have BCM4354 chip.
[root at localhost ~]# hciconfig -a
hci1: Type: BR/EDR Bus: UART
BD Address: C0:97:27:4C:2E:65 ACL MTU: 1021:8 SCO MTU: 64:1
UP RUNNING PSCAN
RX bytes:24493015 acl:94 sco:382514 events:1122 errors:0
TX bytes:19902340 acl:95 sco:382499 commands:809 errors:0
Features: 0xbf 0xfe 0xcf 0xfe 0xdb 0xff 0x7b 0x87
Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3
Link policy: RSWITCH SNIFF
Link mode: SLAVE ACCEPT
Name: 'ARTIK10'
Class: 0x0c0000
Service Classes: Rendering, Capturing
Device Class: Miscellaneous,
HCI Version: 4.1 (0x7) Revision: 0x1000
LMP Version: 4.1 (0x7) Subversion: 0x610c
Manufacturer: Broadcom Corporation (15)
hci0: Type: BR/EDR Bus: SDIO
BD Address: 00:00:00:00:00:00 ACL MTU: 0:0 SCO MTU: 0:0
DOWN
RX bytes:0 acl:0 sco:0 events:0 errors:0
TX bytes:0 acl:0 sco:0 commands:0 errors:0
Features: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
Packet type: DM1 DH1 HV1
Link policy:
Link mode: SLAVE ACCEPT
I try :
- change SCO MTU to 64:8,
- use different parameter in command hcitool cmd 0x3F 0x01C X X X X X
-change baudrate from 3000000 to 1500000 in brcm_patchram_plus script.
./brcm_patchram_plus --patchram
BCM4354_003.001.012.0353.0745c_Samsung_Artik_ORC.hcd \
--no2bytes --baudrate 3000000 \
-d \
--use_baudrate_for_download /dev/ttySAC${TTY_NUM} \
--bd_addr ${BD_ADDR} \
--scopcm=1,2,0,0,0,0,0,0,0,0 \
--enable_hci > /dev/null &
I have Asus BT-400, and there is everything OK (quality is good, speed is
normal).
[root at localhost ~]# hciconfig -a
hci2: Type: BR/EDR Bus: USB
BD Address: 5C:F3:70:72:F8:BB ACL MTU: 1021:8 SCO MTU: 64:1
UP RUNNING PSCAN
RX bytes:583 acl:0 sco:0 events:33 errors:0
TX bytes:898 acl:0 sco:0 commands:33 errors:0
Features: 0xbf 0xfe 0xcf 0xfe 0xdb 0xff 0x7b 0x87
Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3
Link policy: RSWITCH SNIFF
Link mode: SLAVE ACCEPT
Name: 'ARTIK10'
Class: 0x0c0000
Service Classes: Rendering, Capturing
Device Class: Miscellaneous,
HCI Version: 4.0 (0x6) Revision: 0x1000
LMP Version: 4.0 (0x6) Subversion: 0x220e
Manufacturer: Broadcom Corporation (15)
More info:
[root at localhost ~]# uname -a
Linux localhost 3.10.93-dirty #1 SMP PREEMPT Mon Sep 4 15:39:15 CEST 2017
armv7l armv7l armv7l GNU/Linux
[root at localhost ~]# lsmod
Module Size Used by
ip6t_rpfilter 1550 1
ip6t_REJECT 2706 2
ipt_REJECT 2369 2
rfcomm 32430 7
hci_uart 21843 1
ebtable_nat 1656 1
ebtable_broute 1373 1
bridge 91458 1 ebtable_broute
ebtable_filter 1702 1
ebtables 17617 3 ebtable_broute,ebtable_nat,ebtable_filter
ip6table_nat 2685 1
nf_conntrack_ipv6 8069 8
nf_defrag_ipv6 14454 1 nf_conntrack_ipv6
nf_nat_ipv6 3622 1 ip6table_nat
ip6table_mangle 1611 1
ip6table_raw 1270 1
ip6table_filter 1472 1
ip6_tables 11392 4
ip6table_filter,ip6table_mangle,ip6table_nat,ip6table_raw
iptable_raw 1321 1
iptable_nat 2537 1
nf_conntrack_ipv4 13743 7
nf_defrag_ipv4 1244 1 nf_conntrack_ipv4
nf_nat_ipv4 3512 1 iptable_nat
nf_nat 15371 4
nf_nat_ipv4,nf_nat_ipv6,ip6table_nat,iptable_nat
iptable_mangle 1482 1
iptable_filter 1523 1
bnep 10855 2
leds_pca9632 2071 0
leds_pca963x 1848 0
smsc95xx 17900 0
usbnet 22141 1 smsc95xx
hid_cp2112 11909 0
hid_generic 954 0
btusb 15997 0
snd_soc_artik_ak4953 3467 3
cp210x 9353 1
usbhid 20253 0
bcm4354 5540 0
snd_soc_i2s 14483 2
snd_soc_lpass 13073 1 snd_soc_i2s
snd_soc_s3c24xx 5032 2 snd_soc_i2s,snd_soc_lpass
spidev 5496 0
snd_soc_ak4953 19021 1
btsdio 2842 0
bluetooth 210761 56 bnep,btusb,btsdio,hci_uart,rfcomm
dhd 746331 0
cfg80211 393598 1 dhd
rfkill 17000 8 dhd,cfg80211,bcm4354,bluetooth
ip_tables 11092 4
iptable_filter,iptable_mangle,iptable_nat,iptable_raw
[root at localhost bluetooth]#.stty -a -F /dev/ttySAC2
speed 3000000 baud; rows 0; columns 0; line = 15;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2
= <undef>; swtch = <undef>; start = ^Q;
stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; flush = ^O; min
= 1; time = 0;
-parenb -parodd -cmspar cs8 -hupcl -cstopb cread clocal crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon
-ixoff -iuclc -ixany -imaxbel -iutf8
-opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0
vt0 ff0
-isig -icanon -iexten -echo echoe echok -echonl -noflsh -xcase -tostop
-echoprt echoctl echoke
In device specyfication I have:
1.5x channel high-speed UART (up to 3 Mbps data rate for Bluetooth 2.1 EDR
and IrDA 1.0 SIR)
Any suggestions?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/pulseaudio-discuss/attachments/20171130/b1e67534/attachment.html>
More information about the pulseaudio-discuss
mailing list