Troubleshooting USB Audio 2.0 on a Mac

Written in the wee hours • Tags: ,

I noticed my Cambridge Audio DacMagic Plus was no longer recognized by my iMac and music was coming out of the built-in speakers instead. I had no idea when the DAC had disappeared, as I hadn’t listened to music in the office for a while (and had been traveling for a week as well). I moved it to another USB port and it was recognized, but the signal it received was at 48 kHz instead of 192 kHz.

I tried:

  • connecting a USB headset to the problem port: it was not recognized.
  • connecting the DAC to a Macbook Air: the DAC indicated a 192 kHz signal.
  • an SMC reset: no change.
  • a PRAM reset: I got the USB port back, but still at 48 kHz.

My searches on Google weren’t turning up anything useful about the sample rate on USB Audio. Then I happened to search for just “imac usb audio 2.0” and started reading the top hit: USB Audio on the Mac. It has a section on Clock Entities showing the Audio Midi Setup tool.

For some reason the Mac had the clock for the external DAC set at 48 kHz. Using the dropdown menu I could set it at 192 kHz and all was instantly back to normal.

»
Pane folioon kääritty puolen kilon kalakukko kylmän uunin alaosaan ylösalaisin. Aseta uunin lämmöksi 160°C. Puolen tunnin päästä käännä kukko oikein päin. Jatka lämmittämistä vielä toinenkin puoli tuntia.
»
The Linksys SPA3102 has become difficult to find, so I’ve replaced one failed unit with a SPA2102. Seems to work just as well and its configuration is practically identical.
»
I hadn’t noticed that NBAR in Cisco IOS has support for Skype. This should make QoS for Skype just as easy as for SIP on my network. Results pending…
»
I prepped all the holiday cards last night and didn’t make it to the post office today to get stamps… (1)
»
It is possible to use ASINs to add books to LibraryThing. I hadn’t been adding Kindle books in a long while because copying ISBNs by hand was just too much effort, and some books didn’t even have them. I feel like I have missed some announcement about this — it definitely did not work back when… :)
»
I’ve moved my website to a new server. Everything should be working now after some on-and-off tweaking throughout the day. Update a day later: I’ve fixed the downloading of PHP source code (WP plugins).

Bring back audio after Asterisk 1.6 upgrade

Written in the mid-afternoon • Tags: ,

I upgraded to Asterisk 1.6 some time ago, but didn’t think anything was wrong until recently. Calls coming in from Callcentric didn’t work: I received no audio. Everything had been working fine with Asterisk 1.4. I don’t get many calls, so initially I dismissed this as a temporary problem. Calls from my other four carriers kept working fine.

After some research, I noticed the following settings suggested by Callcentric:

session-timers=refuse
session-expires=180
session-minse=90
session-refresher=uas

I’ve placed this in the [general] section of sip.conf, because calls from Callcentric arrive from multiple servers and the way Asterisk handles SRV records, only one of the servers ends up mapping into the per-carrier context at any given time. It doesn’t seem to have an adverse effect on calls from other carriers. (It is just turning off functionality new to 1.6, and setting some sensible defaults.)

Perl on the Mac

Written early in the evening • Tags: ,

Mac OS X comes with Perl installed — that’s good. But it doesn’t come with all the modules you may want. On Ubuntu this is no problem: most modules can be found with aptitude as packaged by Ubuntu and their friends. I was trying to think how to manage Perl modules on my Mac in a similar way, so I could track what is installed. What I didn’t think of was the fact that no software is tracked on the Mac anyway, so why should I care.

Thus I should happily use CPAN to add any modules I might need. Maybe not the most secure thing in the world to run as root, but that’s the expected way to do it…

Turns out there is still a hiccup, but apparently just with Xcode 4: there is no ppc assembler on the system, but Perl is configured to expect one. Fortunately others have already figured this out — the full problem and a fix are presented in Perl and Xcode 4.

I guess I should be backing up the list of installed Perl modules somehow.

Total keyboard control

Written at evening time • Tags: , ,

I was researching what people do about keyboard mappings when using virtual machines or remote desktop connections from their Macs, especially when the other system is running Windows. Different software packages map the keyboard differently and some even have different modes that provide different mappings. Now whenever I see a Windows desktop, I have no idea what keys to press anymore.

My research led me to KeyRemap4MacBook. It comes with a kernel driver that lets you map any key presses you like, in one or more applications, on one or more keyboards. All this power is configurable in XML and selectable through a preference panel applet.

I haven’t fixed my Windows keys yet (partially because I realized I might want to keep Alt as Alt, instead of using Cmd), but I have added a binding to switch keyboard layouts using a combination similar to the one used on Windows: Command + Left Shift (or Shift + Left Command, if you prefer). As far as your muscle memory is concerned, this maps to Alt + Left Shift on a PC keyboard.

I switch between the Finnish and US English layouts, so I also needed to add support for the Finnish input mode. This is why I added the bindings in checkbox.xml instead of private.xml (see patch) — you could add similar entries in the latter file for the input modes you need.

Update: My patch has been merged upstream and is included in version 7.2.47 and later.