{"id":1864,"date":"2026-07-19T09:44:06","date_gmt":"2026-07-19T09:44:06","guid":{"rendered":"https:\/\/g1lro.uk\/?p=1864"},"modified":"2026-07-28T13:05:47","modified_gmt":"2026-07-28T13:05:47","slug":"convert-aioc-identity-to-cm108-sound-card-2","status":"publish","type":"post","link":"https:\/\/g1lro.uk\/?p=1864","title":{"rendered":"Easily Turn an AIOC into a CM108 Sound Card"},"content":{"rendered":"\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"747\" height=\"341\" src=\"https:\/\/g1lro.uk\/wp-content\/uploads\/2026\/06\/image-9.png\" alt=\"\" class=\"wp-image-1616\" srcset=\"https:\/\/g1lro.uk\/wp-content\/uploads\/2026\/06\/image-9.png 747w, https:\/\/g1lro.uk\/wp-content\/uploads\/2026\/06\/image-9-300x137.png 300w, https:\/\/g1lro.uk\/wp-content\/uploads\/2026\/06\/image-9-600x274.png 600w\" sizes=\"auto, (max-width: 747px) 100vw, 747px\" \/><\/figure>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><strong>TL;DR:<\/strong> You can make an AIOC (or URC, or Model 50) appear to your computer as a standard CM108 sound card, so it works plug and play with AllStarLink and other software with no patches or Python required. Use TF3HR&#8217;s browser-based utility at <a href=\"https:\/\/g1lro.github.io\/aioc-toolkit\/\">https:\/\/g1lro.github.io\/aioc-toolkit\/<\/a> to change the Vendor ID to 0x0D8C and Product ID to 0x000C, click Store to Flash, then unplug and reconnect.<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">The AIOC, and associated devices like the URC and Model 50 USB transceiver, are based on the same AIOC sound processor. This is a software-defined sound card with a serial port function and several GPIO control lines for PTT, COS and similar functions.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The AIOC is becoming well supported by applications such as AllStarLink (ASL) and DigiPi, but there are still gaps compared with the popular CM108 sound card standard. The CM108 is a sound chip that has been used in PCs and other audio applications for well over a decade, so support for it is effectively universal.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Where an application doesn&#8217;t recognise the AIOC, there are two ways forward:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Modify the application to support the AIOC, either by editing the core software or applying a patch script, or<\/li>\n\n\n\n<li>Modify the personality of the AIOC so it reports itself to the software as a CM108 and just works, plug and play, with no further tweaking.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">In earlier articles on this site the approach has been the first one: modifying the AIOC personality through tortuous Python-based reprogramming, and more recently, with the release of ASL3, applying a small patch to ASL so it recognises the AIOC.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Programming the AIOC to look like a CM108<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">This is usually the preferred route. It keeps installation simple and removes the extra software steps that can be daunting for some.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The game changer is a web page released by Hrafnkell Eiriksson, TF3HR, which lets us update the identity of the AIOC with the click of a button. No Python, no command line.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The key factors that determine how software recognises a sound card are the Vendor ID (VID) and Product ID (PID). These two numbers tell the USB subsystem in your computer what the device is.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To make the AIOC appear as a CM108, we need to update the following:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th><strong>Existing AIOC value<\/strong><\/th><th><strong>New value to look like CM108<\/strong><\/th><\/tr><\/thead><tbody><tr><td>Vendor ID 0x1209<\/td><td>0x0D8C<\/td><\/tr><tr><td>Product ID 0x7388<\/td><td>0x000C<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Making the changes<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">TF3HR&#8217;s utility and been upgraded by me and now lives at <a href=\"https:\/\/g1lro.github.io\/aioc-toolkit\/\">https:\/\/g1lro.github.io\/aioc-toolkit\/<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You&#8217;ll need a Chrome browser to use it, and in my experience it works best on a Windows PC.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The steps are straightforward:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Plug the AIOC into your PC<\/li>\n\n\n\n<li>Browse to <a href=\"https:\/\/g1lro.github.io\/aioc-toolkit\/\">https:\/\/g1lro.github.io\/aioc-toolkit\/<\/a><\/li>\n\n\n\n<li>Click Connect at the top right<\/li>\n\n\n\n<li>Select AIOC-HID from the device list (probably the only item shown)<\/li>\n\n\n\n<li>Click Connect<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"980\" height=\"641\" src=\"https:\/\/g1lro.uk\/wp-content\/uploads\/2026\/07\/image-1.png\" alt=\"\" class=\"wp-image-1856\" srcset=\"https:\/\/g1lro.uk\/wp-content\/uploads\/2026\/07\/image-1.png 980w, https:\/\/g1lro.uk\/wp-content\/uploads\/2026\/07\/image-1-300x196.png 300w, https:\/\/g1lro.uk\/wp-content\/uploads\/2026\/07\/image-1-768x502.png 768w, https:\/\/g1lro.uk\/wp-content\/uploads\/2026\/07\/image-1-600x392.png 600w\" sizes=\"auto, (max-width: 980px) 100vw, 980px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Note:<\/strong> if you want to change the COS setting from Virtual COS (the default) to Hardware COS, do it at this stage. You can&#8217;t change it afterwards without re-flashing the AIOC processor.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Changing the identity settings<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Scroll to the section labelled USB VID \/ PID Override<\/li>\n\n\n\n<li>Click the button &#8216;Fill CM108 IDs&#8217; to put the CM108 identity values into the VID and PID boxes<\/li>\n\n\n\n<li>Click Apply<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"838\" height=\"283\" src=\"https:\/\/g1lro.uk\/wp-content\/uploads\/2026\/07\/image-14.png\" alt=\"\" class=\"wp-image-1911\" srcset=\"https:\/\/g1lro.uk\/wp-content\/uploads\/2026\/07\/image-14.png 838w, https:\/\/g1lro.uk\/wp-content\/uploads\/2026\/07\/image-14-300x101.png 300w, https:\/\/g1lro.uk\/wp-content\/uploads\/2026\/07\/image-14-768x259.png 768w, https:\/\/g1lro.uk\/wp-content\/uploads\/2026\/07\/image-14-600x203.png 600w\" sizes=\"auto, (max-width: 838px) 100vw, 838px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Why the caution?<\/strong> Originally the utility didn&#8217;t recognize the AIOC after the IDs were changed. After an update by me, both sets of IDs are recognized now so you can easily change back.<strong> -No Worries<\/strong><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Don&#8217;t forget to write the changes<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">So far we&#8217;ve only changed the settings in memory. Now we need to write them permanently into the chip:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Scroll down a little further to the Device Actions section<\/li>\n\n\n\n<li>Click Store to Flash<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"945\" height=\"167\" src=\"https:\/\/g1lro.uk\/wp-content\/uploads\/2026\/07\/image-3.png\" alt=\"\" class=\"wp-image-1858\" srcset=\"https:\/\/g1lro.uk\/wp-content\/uploads\/2026\/07\/image-3.png 945w, https:\/\/g1lro.uk\/wp-content\/uploads\/2026\/07\/image-3-300x53.png 300w, https:\/\/g1lro.uk\/wp-content\/uploads\/2026\/07\/image-3-768x136.png 768w, https:\/\/g1lro.uk\/wp-content\/uploads\/2026\/07\/image-3-600x106.png 600w\" sizes=\"auto, (max-width: 945px) 100vw, 945px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Checking your work<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The USB settings are read the next time the device is attached, so unplug the AIOC and plug it back in. We&#8217;ll check on both Windows and Raspberry Pi.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In Windows Device Manager, find the AIOC audio device and look at the Hardware IDs on the Details tab. You&#8217;ll see the CM108 IDs.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"966\" height=\"696\" src=\"https:\/\/g1lro.uk\/wp-content\/uploads\/2026\/07\/image-4.png\" alt=\"\" class=\"wp-image-1861\" srcset=\"https:\/\/g1lro.uk\/wp-content\/uploads\/2026\/07\/image-4.png 966w, https:\/\/g1lro.uk\/wp-content\/uploads\/2026\/07\/image-4-300x216.png 300w, https:\/\/g1lro.uk\/wp-content\/uploads\/2026\/07\/image-4-768x553.png 768w, https:\/\/g1lro.uk\/wp-content\/uploads\/2026\/07\/image-4-600x432.png 600w\" sizes=\"auto, (max-width: 966px) 100vw, 966px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">On your Raspberry Pi (or any Linux machine), type <strong>lsusb<\/strong> and you&#8217;ll see a C-Media Electronics device (this is the CM108) alongside the new ID numbers.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"157\" src=\"https:\/\/g1lro.uk\/wp-content\/uploads\/2026\/07\/image-5-1024x157.png\" alt=\"\" class=\"wp-image-1862\" srcset=\"https:\/\/g1lro.uk\/wp-content\/uploads\/2026\/07\/image-5-1024x157.png 1024w, https:\/\/g1lro.uk\/wp-content\/uploads\/2026\/07\/image-5-300x46.png 300w, https:\/\/g1lro.uk\/wp-content\/uploads\/2026\/07\/image-5-768x118.png 768w, https:\/\/g1lro.uk\/wp-content\/uploads\/2026\/07\/image-5-1536x235.png 1536w, https:\/\/g1lro.uk\/wp-content\/uploads\/2026\/07\/image-5-600x92.png 600w, https:\/\/g1lro.uk\/wp-content\/uploads\/2026\/07\/image-5.png 1612w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Your AIOC is now ready for use in AllStarLink and any CM108 application.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>TL;DR: You can make an AIOC (or URC, or Model 50) appear to your computer as a standard CM108 sound card, so it works plug and play with AllStarLink and other software with no patches or Python required. Use TF3HR&#8217;s browser-based utility at https:\/\/g1lro.github.io\/aioc-toolkit\/ to change the Vendor ID to 0x0D8C and Product ID to [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1616,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-1864","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/g1lro.uk\/index.php?rest_route=\/wp\/v2\/posts\/1864","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/g1lro.uk\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/g1lro.uk\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/g1lro.uk\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/g1lro.uk\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1864"}],"version-history":[{"count":8,"href":"https:\/\/g1lro.uk\/index.php?rest_route=\/wp\/v2\/posts\/1864\/revisions"}],"predecessor-version":[{"id":1921,"href":"https:\/\/g1lro.uk\/index.php?rest_route=\/wp\/v2\/posts\/1864\/revisions\/1921"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/g1lro.uk\/index.php?rest_route=\/wp\/v2\/media\/1616"}],"wp:attachment":[{"href":"https:\/\/g1lro.uk\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1864"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/g1lro.uk\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1864"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/g1lro.uk\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1864"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}