Git Product home page Git Product logo

chip-bluetooth-speaker's People

Contributors

hadess avatar sunmorgus avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

chip-bluetooth-speaker's Issues

Popping and skipping with NTC Kernel 4.4 Headless

I expect this happens on all the 4.4 images, but this is the one I've tried. Looks like they added a service called ubihealthd to monitor the life of the internal NAND, but it causes skipping in audio. I first noticed it by tailing /var/log/daemon.log and seeing the writes from that service's logged corresponding with the skips I was hearing. With a little searching, I found this thread regarding the issue on the NTC forum:

https://bbs.nextthing.co/t/alsa-causing-stutter-hanging-in-pico-8-mednafen-retroarch-arm-solved-maybe-please-help-us-test-verify/13765/117

And I can confirm that simply disabling the service fixes the issue for me, however I'm not sure how important this service is for the life of the NAND so maybe this should be open to find a better fix? Sounds like it's an issue with ubihealthd though and not these scripts. Still, putting it here in case it helps someone else.

Default to max unamplified volume

On boot, the default volume should be that of the maximum unamplified volume, to limit distortion and noise created by the builtin amp.

See also issue #8

Noise even when playing

There's a bit of noise in the background both when playing and not playing anything. It might be a hardware shielding problem.

Pairing shouldn't ask for PIN

Pairing shouldn't even ask for the PIN on the phone (if it's a common default like "0000") but still does. It didn't during my initial testing...

headless pairing ?

Hi,

Do this project support headless pairing ? I mean that there is no need for any interaction with the CHIP to accept pairing from the phone. I can't get it to work in this manner and after reading the agent-helper.c code I believe that there is no such possibility.
If I run the bt-agent like that:
sudo ./bt-agent -c NoInputNoOutput -p bluetooth-default-pin
I always get the request for confirmation (yes or no). in agent-helper.c in _bt_agent_method_call_func function in if branch that corresponds to "RequestAuthorization" method_name (line 182) there is no other way to authorize the pairing. And after reading this http://www.bluez.org/bluez-5-api-introduction-and-porting-guide/, in "The new AgentManager1 interface" there is stated that "RequestAuthorization" is called if there is pairing request that does no require any action for the user.

binary file checksum

I can't find a way to verify the integrity of the binary file. As the source code isn't present here, I have no way of inspecting it. Was it copied from somewhere where I could look at the source code and verify the checksums?

Play sounds when devices connect/disconnect

This makes it easier to know if the speaker's volume is correctly set, if we connected properly, etc.

The "device-added" and "device-removed" in sound-theme-freedesktop are probably pretty good sounds to start with.

Bluetooth audio has stopped working with recent package updates

Tried on both 4.4 GUI and a fresh 4.4 headless, same results and error messages.

On a first run of the script, everything works fine.
After rebooting, however, audio will not play, and trying to use any audio related commands (e.g. amixer, pactl) results in the following error:
xcb_connection_has_error() returned true
It is also noteworthy that running the setup script, the first time or any time after, prints a message similar to "invalid chassis: embedded".

This error started happening after upgrading system packages about a month ago, so I suspect an update to Pulseaudio broke something in the script.

Multiple Bluetooth sources?

I'm trying to figure out a way to get two android devices to send audio simultaneously via bt to a bt sink/speaker. (Dedicated waze device + phone -> vehicle via chip.)

I know that pulseaudio can monitor multiple inputs... but can the bluetooth hardware/stack support multiple simultaneous inputs?

Inconsistent Bluetooth config

Sometimes, as power is yanked out, the Bluetooth configuration forgets that it needs to be powered and discoverable on the next boot-up, and you'd need to poke at the adapter with hciconfig and bt-adapter --set ....

AirPlay support

This would likely use shairport, but we'd need some integration with PulseAudio to make sure that only one audio is playing at a time.

Issues installing

Hey, when I run the setup.sh I get an error. It worked the first time I did it but never again. The reason I'm trying again in the first place is because I can see "CHIP Bluetooth speaker" in my paired devices but it doesn't connect at all. Again, it worked the first time but never again. I've tried pairing it again over and over again. I've also tried bt-agent -c NoInputNoOutput -d to get it to pair again properly with no luck. Any help would be very much appreciated!!! Here is the error I'm getting:

`Error processing line 1 of /usr/local/lib/python2.7/dist-packages/easy-install.pth:
Traceback (most recent call last):
File "/usr/lib/python2.7/site.py", line 162, in addpackage
if not dircase in known_paths and os.path.exists(dir):
File "/usr/lib/python2.7/genericpath.py", line 18, in exists
os.stat(path)
TypeError: must be encoded string without NULL bytes, not str

Remainder of file ignored
Traceback (most recent call last):
File "/usr/lib/python2.7/runpy.py", line 162, in _run_module_as_main
"main", fname, loader, pkg_name)
File "/usr/lib/python2.7/runpy.py", line 72, in _run_code
exec code in run_globals
File "/usr/lib/python2.7/dist-packages/easy_install.py", line 5, in
main()
File "/usr/lib/python2.7/dist-packages/setuptools/command/easy_install.py", line 2199, in main
lambda: setup(
File "/usr/lib/python2.7/dist-packages/setuptools/command/easy_install.py", line 2185, in with_ei_usage
return f()
File "/usr/lib/python2.7/dist-packages/setuptools/command/easy_install.py", line 2202, in
distclass=DistributionWithoutHelpCommands, **kw
File "/usr/lib/python2.7/distutils/core.py", line 151, in setup
dist.run_commands()
File "/usr/lib/python2.7/distutils/dist.py", line 953, in run_commands
self.run_command(cmd)
File "/usr/lib/python2.7/distutils/dist.py", line 971, in run_command
cmd_obj.ensure_finalized()
File "/usr/lib/python2.7/distutils/cmd.py", line 109, in ensure_finalized
self.finalize_options()
File "/usr/lib/python2.7/dist-packages/setuptools/command/easy_install.py", line 323, in finalize_options
self.check_site_dir()
File "/usr/lib/python2.7/dist-packages/setuptools/command/easy_install.py", line 455, in check_site_dir
self.pth_file = PthDistributions(pth_file, self.all_site_dirs)
File "/usr/lib/python2.7/dist-packages/setuptools/command/easy_install.py", line 1531, in init
self._load()
File "/usr/lib/python2.7/dist-packages/setuptools/command/easy_install.py", line 1553, in _load
os.path.join(self.basedir, path)
File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 2052, in normalize_path
return os.path.normcase(os.path.realpath(filename))
File "/usr/lib/python2.7/posixpath.py", line 382, in realpath
path, ok = _joinrealpath('', filename, {})
File "/usr/lib/python2.7/posixpath.py", line 407, in _joinrealpath
if not islink(newpath):
File "/usr/lib/python2.7/posixpath.py", line 142, in islink
st = os.lstat(path)
TypeError: must be encoded string without NULL bytes, not str`

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.