LynxOne : Open Sound System のドライバのパッチ2018/09/15 07:58

また LINUX のカーネルの変更にドライバを合わせねば動かなくなった。

初期化の関数と callback の引数が変わったらしい。合わせた。
なんとなく下記の tmout は from_timer() のリターンの値にしたほうがいいような気もする。
とりあえず半年間の間、再生はできていたからよしとするか。


$ gdebi oss-linux-v4.2-2017-i386.deb
インストール時、シンタックスエラーで止まるので修正する

(/usr/lib/oss/build/osscore.c)
"#if 0" でくくって "#else" 以降に書き直す

--- a/oss/build/osscore.c
+++ b/oss/build/osscore.c
@@ -507,8 +507,15 @@ tmout_desc_t tmouts[MAX_TMOUTS] = { {0} };
int timeout_random = 0x12123400;

void
+#if 0
oss_timer_callback (unsigned long id)
{
+#else
+oss_timer_callback (struct timer_list *t0)
+{
+ tmout_desc_t *t = from_timer(t, t0, timer);
+ unsigned long id = (unsigned long)t;
+#endif
tmout_desc_t *tmout;
int ix;
void *arg;
@@ -567,10 +574,14 @@ oss_timeout (void (*func) (void *), void *arg, unsigned long long ticks)
tmout->arg = arg;
tmout->timestamp = id | (timeout_random & ~0xff);

+#if 0
init_timer (&tmout->timer);
tmout->timer.expires = jiffies + ticks;
tmout->timer.data = id | (timeout_random & ~0xff);
tmout->timer.function = oss_timer_callback;
+#else
+ timer_setup(&tmout->timer, oss_timer_callback, id | (timeout_random & ~0xff));
+#endif
add_timer (&tmout->timer);

return id | (timeout_random & ~0xff);



(参考)
https://myn.meganecco.org/1511840520.html



そして、soundon をインストーラの代わりに手動で実行する。
シンタックスエラーで止まっていたコンパイルが動く。
すると、soundon スクリプトでサウンドカードのプロセスのチェックが不要なエラーを検出して動作をとめる。
不要なのでスクリプトの該当箇所を下記のようにコメントアウトする。

#if test -d /proc/asound || grep -q '^ *14 ' < /proc/devices
#then
# if ! sh $OSSLIBDIR/scripts/remove_drv.sh>> $LOG
# then
# echo Failed to disable conflicting sound drivers >> $LOG
# echo Failed to disable conflicting sound drivers
# echo Reboot and try running soundon again
# echo
# echo Also check that you have not compiled sound support statically
# echo into the kernel.
# exit 50
# fi
#fi

ばっちぐー。
-----

あ、こっちが正しいかも
http://ossnext.trueinstruments.com/forum/viewtopic.php?f=3&t=5862

こっちでしばし様子見する。

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※投稿には管理者が設定した質問に答える必要があります。

名前:
メールアドレス:
URL:
次の質問に答えてください:
↓下記には何と書いてありますか?
華沙珠曼
↑この正解と完全に一致した場合のみコメント可能です。

コメント:

トラックバック