1#!/usr/bin/env python 2# 3# Copyright (C) 2012 The Android Open Source Project 4# 5# Licensed under the Apache License, Version 2.0 (the 'License'); 6# you may not use this file except in compliance with the License. 7# You may obtain a copy of the License at 8# 9# http://www.apache.org/licenses/LICENSE-2.0 10# 11# Unless required by applicable law or agreed to in writing, software 12# distributed under the License is distributed on an 'AS IS' BASIS, 13# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14# See the License for the specific language governing permissions and 15# limitations under the License. 16# 17 18#detect USB sound card from sound card lists under sys/class/sound/soundX 19 20import os, re, sys 21 22AUDIO_CLASS_DIR = "/sys/class/sound" 23 24def main(argv): 25 if len(argv) < 2: 26 print "Usage: detect_usb_audio.py (product)+" 27 print " ex: detect_usb_audio.py MobilePre" 28 sys.exit(1) 29 current_argv = 1 30 product_list = [] 31 while current_argv < len(argv): 32 product_list.append(argv[current_argv]) 33 current_argv = current_argv + 1 34 #print product_list 35 sound_dev_list = os.listdir(AUDIO_CLASS_DIR) 36 for sound_dev in sound_dev_list: 37 m = re.search("card(\d+)$", sound_dev) 38 if m != None: 39 card_full_path = os.path.realpath(AUDIO_CLASS_DIR + "/" + sound_dev) 40 if "usb" in card_full_path: 41 f = open(card_full_path + "/id") 42 line = f.readline().strip() 43 if line in product_list: 44 print "___CTS_AUDIO_PASS___ " + line + " " + m.group(1) 45 sys.exit(0) 46 f.close() 47 # card not found 48 sys.exit(1) 49 50if __name__ == '__main__': 51 main(sys.argv) 52