angelkyo 发表于 2017-2-22 15:44

本帖最后由 angelkyo 于 2017-2-22 15:59 编辑




改进版脚本,欢迎测试。。。



angelkyo 发表于 2017-2-22 15:46

本帖最后由 angelkyo 于 2017-2-22 17:54 编辑

#!/bin/sh

# 安装声卡守护进程脚本
SCRIPT_PATH="$(dirname "$0")"

cat << EOF
-- 安装声卡守护进程脚本 --

此安装程序脚本演示了shell编程技术,运行开机任务等。

要完全卸载,请手动删除以下文件:
rm -rf '/Library/LaunchAgents/com.audio.reset.plist'
rm -rf '/Library/Application Support/AudioReset/AudioReset.sh'
rm -rf '/Library/Application Support/AudioReset/hda-verb'

EOF

cat << EOF
ALC233                10ec_0233 "0x19 SET_PIN_WIDGET_CONTROL 0x25"
ALC235                10ec_0235 "0x19 SET_PIN_WIDGET_CONTROL 0x25"
ALC255                10ec_0255 "0x19 SET_PIN_WIDGET_CONTROL 0x25"
ALC269                10ec_0269 "0x15 SET_UNSOLICITED_ENABLE 0x83"
ALC269VB      10ec_0269_HDA_1028_04d9 "0x21 SET_UNSOLICITED_ENABLE 0x83"
ALC269BRIX10ec_0269_HDA_1458_fa50 "0x15 SET_UNSOLICITED_ENABLE 0x83"
ALC282                10ec_0282 "0x19 SET_PIN_WIDGET_CONTROL 0x25"
ALC283                10ec_0283 "0x19 SET_PIN_WIDGET_CONTROL 0x25"
ALC292                10ec_0292 "0x15 SET_UNSOLICITED_ENABLE 0x83"
ALC668                10ec_0668 "0x15 SET_UNSOLICITED_ENABLE 0x83"
ALC1150                10ec_0900 "0x20 SET_COEF_INDEX 0x07"
EOF
while true; do
                echo "请输入你的声卡代码(如为ALC269VB,只需输入269VB)"
                echo "如不在列表,或要自定义参数,请输入N"
                read -p "请输入代码:" arg0
                case "$arg0" in
                              "233" ) arg1="0x19 SET_PIN_WIDGET_CONTROL 0x25" break;;
                              "235" ) arg1="0x19 SET_PIN_WIDGET_CONTROL 0x25" break;;
                              "255" ) arg1="0x19 SET_PIN_WIDGET_CONTROL 0x25" break;;
                              "269" ) arg1="0x15 SET_UNSOLICITED_ENABLE 0x83" break;;
                              "269VB" ) arg1="0x21 SET_UNSOLICITED_ENABLE 0x83" break;;
                              "269BRIX" ) arg1="0x15 SET_UNSOLICITED_ENABLE 0x83" break;;
                              "282" ) arg1="0x19 SET_PIN_WIDGET_CONTROL 0x25" break;;
                              "283" ) arg1="0x19 SET_PIN_WIDGET_CONTROL 0x25" break;;
                              "292" ) arg1="0x15 SET_UNSOLICITED_ENABLE 0x83" break;;
                              "668" ) arg1="0x15 SET_UNSOLICITED_ENABLE 0x83" break;;
                              "1150" ) arg1="0x20 SET_COEF_INDEX 0x07" break;;
                               ) echo "请自定义参数(不含引号)"
                              break;;
    esac
done               
if [ "$arg1" == "" ]
then
                echo "如:0x19 SET_PIN_WIDGET_CONTROL 0x25"
                read -p "自定义参数为:" arg1
fi      
while true; do
                echo "每次开机将会执行如下命令:"
                echo "hda-verb" $arg1
    read -p "确认无误继续吗? " yn
    case $yn in
      * ) break;;
      * ) exit;;
      * ) echo "请回答Y或N.";;
    esac
done

# 建立临时文件夹并复制hda-verb
mkdir /tmp/audio_reset_$
sudo -p "请输入您的管理员密码:" mkdir -pv '/Library/Application Support/AudioReset'
cd "$SCRIPT_PATH"
# 检查hda-verb是否存在
if [ ! -f 'hda-verb' ]
    then
      echo "错误: 找不到 hda-verb 文件." 1>&2
      exit 1
fi
cp -rf hda-verb /tmp/audio_reset_$
cd /tmp/audio_reset_$


# 创建shell脚本
cat << EOF > audioreset.sh
#!/bin/sh
# 要完全卸载,请手动删除以下文件:
# rm -rf '/Library/LaunchAgents/com.audio.reset.plist'
# rm -rf '/Library/Application Support/AudioReset/AudioReset.sh'
# rm -rf '/Library/Application Support/AudioReset/hda-verb'

'/Library/Application Support/AudioReset/hda-verb' $arg1
exit 0
EOF
chmod -f 755 AudioReset.sh

# 创建 launchd plist 以每次开机运行一次脚本
cat << EOF > com.audio.reset.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.audio.reset</string>
    <key>ProgramArguments</key>
    <array>
      <string>/Library/Application Support/AudioReset/AudioReset.sh</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
</dict>
</plist>
EOF


# 移动文件,并检查错误

if ! sudo -p "请输入您的管理员密码:" chown root com.audio.reset.plist
then
    echo "错误: 无法设置 plist 文件的所有权,脚本未安装." 1>&2
    rm -rf /tmp/audio_reset_$
    exit 1
fi


if ! sudo mv -f com.audio.reset.plist /Library/LaunchAgents/
then
    echo "错误: 无法安装 plist 文件,脚本未安装." 1>&2
    rm -rf /tmp/audio_reset_$
    exit 1
fi

if ! sudo mv -f hda-verb '/Library/Application Support/AudioReset/'
then
    echo "错误: 无法安装 hda-verb 文件,脚本未安装." 1>&2
    sudo rm -rf /tmp/audio_reset_$
    sudo rm -rf /Library/LaunchAgents/com.audio.reset.plist
    exit 1
fi

if ! sudo mv -f AudioReset.sh '/Library/Application Support/AudioReset/'
then
    echo "错误: 无法安装 shell 脚本文件,脚本未安装." 1>&2
    rm -rf /tmp/audio_reset_$
    sudo rm -rf /Library/LaunchAgents/com.audio.reset.plist
    sudo rm -rf '/Library/Application Support/AudioReset/hda-verb'
    exit 1
fi

# 安装成功,删除临时文件夹
rm -rf /tmp/audio_reset_$

echo "成功安装了脚本,请重新启动计算机."
echo "玩的开心!"

exit 0

改进了一下下,欢迎测试。。。

口袋妖怪heart 发表于 2017-2-22 15:59

vastlee 发表于 2017-2-22 15:14 https://www.pcbeta.com/static/image/common/back.gif
口袋妖怪heart,建议把这个帖子放倒顶置贴里。对与ALC233和所有由此问题的其它型号类型的声卡用户来说真的 ...

额 不好意思我不是版主...

neroxps 发表于 2017-2-22 17:49

口袋妖怪heart 发表于 2017-2-22 15:59 https://www.pcbeta.com/static/image/common/back.gif
额 不好意思我不是版主...

还是不要置顶好,帖子本来语句就不完整。我编辑了好几次,都被吃掉几段字。

我写完帖子备份了,但是上传上来又吃掉。

口袋妖怪heart 发表于 2017-2-23 22:34

angelkyo 发表于 2017-2-22 12:41 https://www.pcbeta.com/static/image/common/back.gif
没用,不知何故。

好像你用的是中文引号喔.

口袋妖怪heart 发表于 2017-2-23 22:35

angelkyo 发表于 2017-2-22 15:46 https://www.pcbeta.com/static/image/common/back.gif
改进了一下下,欢迎测试。。。
# 创建shell脚本
cat << EOF > audioreset.sh
#!/bin/sh
# 要完全卸载,请手动删除以下文件:
# rm -rf '/Library/LaunchAgents/com.audio.reset.plist'
# rm -rf '/Library/Application Support/AudioReset/AudioReset.sh'
# rm -rf '/Library/Application Support/AudioReset/hda-verb'

'/Library/Application Support/AudioReset/hda-verb' $arg1
exit 0
EOF这段的 arg1 没有变量定义喔?因为你是在创建东西

peterneo 发表于 2017-3-12 14:55

我怎么在terminal不能运行hda-verb?说不是BASH的命令

qq787152848 发表于 2017-3-12 22:04

有时间看看怎么样。

neroxps 发表于 2017-3-12 22:21

peterneo 发表于 2017-3-12 14:55 https://www.pcbeta.com/static/image/common/back.gif
我怎么在terminal不能运行hda-verb?说不是BASH的命令

下载 https://bitbucket.org/RehabMan/os-x-eapd-codec-commander/downloads/

把里面的 hda-verb 放到 /usr/bin

fsl37 发表于 2017-3-20 19:22

Perform Reset 设为 YES ,这个方法失灵了,今天发现唤醒没声了,是不是改ssdt稳定,麻烦大神邦我搞下,谢谢1

fsl37 发表于 2017-3-20 19:57

angelkyo 发表于 2017-2-22 01:45 https://www.pcbeta.com/static/image/common/back.gif
拿去玩耍,InstallAudioReset.sh拖到终端回车即可。
如果不能运行,给它执行权限:
第48行的值, ...

我试试这个脚本

fsl37 发表于 2017-3-20 20:16

angelkyo 发表于 2017-2-22 01:45 https://www.pcbeta.com/static/image/common/back.gif
拿去玩耍,InstallAudioReset.sh拖到终端回车即可。
如果不能运行,给它执行权限:
第48行的值, ...

我安装这个脚本时,错误: 无法安装 hda-verb 文件,脚本未安装。是 怎么回事?

neroxps 发表于 2017-3-20 20:43

fsl37 发表于 2017-3-20 19:22 https://www.pcbeta.com/static/image/common/back.gif
Perform Reset 设为 YES ,这个方法失灵了,今天发现唤醒没声了,是不是改ssdt稳定,麻烦大神邦我搞下,谢谢 ...

尝试修复一下权限,再重启 试试。我的一直可以。

改 CC 和 SSDT 是一样的,只是为了更新 CC 的时候方便点无需修改 CC 而已。

另外修改 CC 的 SSDT 我已经放到本帖里面了啊

fsl37 发表于 2017-3-21 17:42

neroxps 发表于 2017-3-20 20:43 https://www.pcbeta.com/static/image/common/back.gif
尝试修复一下权限,再重启 试试。我的一直可以。

改 CC 和 SSDT 是一样的,只是为了更新 CC 的时候方便 ...

我明白了,谢谢 !

lc700x 发表于 2017-4-21 17:40

我的也是alc283试试看

lc700x 发表于 2017-4-21 17:43

咋下载不了??

weiisusu 发表于 2017-4-21 18:00

weiisusu 发表于 2017-4-21 18:00

zhlb30 发表于 2017-4-23 11:27

neroxps 发表于 2017-3-20 20:43 https://www.pcbeta.com/static/image/common/back.gif
尝试修复一下权限,再重启 试试。我的一直可以。

改 CC 和 SSDT 是一样的,只是为了更新 CC 的时候方便 ...

楼主,我按你的改为yes,,休眠醒来,插着耳机就只有耳机有声,不插就是内置有声,醒来不会自动切换了,是需要修改哪里?

wp8student 发表于 2017-5-28 22:07

本来想从ALCPlugFix换成你这个的,但是发现个情况,插上耳机拔了之后值又变回去了,杂音+麦克风不识别。只能再运行一次,自动添加命令只能运行一次,貌似ALCPlugFix才能开机运行一次,插上耳机和拔下耳机都运行一次。。。
页: 1 2 [3] 4
查看完整版本: 关于耳机只有背景声及唤醒无声的探讨【更新ALC233解决方案】