s1005056 发表于 2014-3-5 11:23:19

求救,已将模块更名后仍然会自动装载!!

本帖最后由 s1005056 于 2014-3-11 10:14 编辑

各位版大好~
由于正在学习音频部份的驱动,因此常会需要将预设的模块移除,之前已有发问询问要怎么移除,而且都没有太大问题...

直到昨天在串口底下查看模块列表时发现s5pv210_hdmi模块变成permanent属性,即使改了名字、重新启动TQ210,甚至重新装载原始镜像挡案,仍然无法移除...


求救各位版大,是否知道怎么会变成这样....万分感谢
{:5_324:}


wbz073 发表于 2014-3-5 12:04:25

你去android源码中,找到你的init.rc,然后把里面insmod wm8960的去掉即可。

s1005056 发表于 2014-3-5 15:01:33

wbz073 发表于 2014-3-5 12:04
你去android源码中,找到你的init.rc,然后把里面insmod wm8960的去掉即可。

版主好
我到android文件系统资料夹,TQ210_Andorid_4.0.4_V1.0/system/core/rootdir/init.rc内并没有看到insmod wm8960
仅有搜寻到下面三个
#sensor
      insmod /system/lib/modules/Acceleration_sensor.ko
        insmod /system/lib/modules/ds18b20.ko

#wifi
        insmod /system/lib/modules/rt5370sta.ko

会不会是另外有地方设定?
谢谢版主帮忙!

wbz073 发表于 2014-3-5 15:25:47

s1005056 发表于 2014-3-5 15:01
版主好
我到android文件系统资料夹,TQ210_Andorid_4.0.4_V1.0/system/core/rootdir/init.rc内并没有看 ...

在init.tq210.rc中再找找

s1005056 发表于 2014-3-6 11:28:25

wbz073 发表于 2014-3-5 15:25
在init.tq210.rc中再找找

版大好
我在源码资料夹内搜寻init.tq210.rc文件,
仅有一个位于/TQ210_Android_4.0.4_V1.0/device/embedsky/tq210/configs内之文件名称相符,文件内并无insmod wm8960的设定,还请版大帮忙...是不是我找错文件了?

以下为搜寻到的init.tq210.rc文件源码
import init.tq210.usb.rc

on early-init
    export EXTERNAL_STORAGE /mnt/sdcard
    export SECONDARY_STORAGE /mnt/ext_sd:/mnt/usb

    mkdir /mnt/sdcard 0000 system system
    mkdir /mnt/ext_sd 0000 system system
    mkdir /mnt/usb 0000 system system
    # for backwards compatibility
    symlink /mnt/sdcard /sdcard
    symlink /mnt/ext_sd /ext_sd

on post-fs-data
    # we will remap this as /mnt/sdcard with the sdcard fuse tool
    mkdir /data/media 0775 media_rw media_rw
    chown media_rw media_rw /data/media
    setprop vold.post_fs_data_done 1
    mkdir /data/misc/dhcp 0770 dhcp dhcp
    chown dhcp dhcp /data/misc/dhcp

# 3D init
service pvrsrvinit /system/vendor/bin/pvrsrvinit
    class core
    user root
    group root
    oneshot

on boot
        mount debugfs /sys/kernel/debug /sys/kernel/debug
        chmod 0666 /dev/pvrsrvkm
    setprop ro.build.product tq210
    setprop ro.product.device tq210


service tq210-setup /system/etc/init.tq210.sh
        class main   
        oneshot

# rild
service ril-daemon /system/bin/rild -l /system/lib/libztewcdma-ril_andriod4.0_v01.so
        class main
        socket rild stream 0660 root radio
        socket rild-debug stream 0660 radio system
        user root
        group radio cache inet misc audio sdcard_rw log

s1005056 发表于 2014-3-6 11:41:03

wbz073 发表于 2014-3-5 15:25
在init.tq210.rc中再找找

另外再请教版大一件事
s5pv210_hdmi模块先前都是没有permanent这个属性状态的,之前载入出厂镜像的时后也都没这个问题...
这样子的话,突然出现这个状态可能的原因是什么?谢谢版大回复

s1005056 发表于 2014-3-6 11:56:39

利用grep -r "insmod" 搜寻Android文件系统源码的结果...part 1
insmod wm8960到底藏哪了{:5_303:},不过倒是有看到一个文件./vendor/embedsky/tq210/device-vendor.mk:                vendor/embedsky/tq210/bin/sound_insmod:system/bin/sound_insmod,会是藏在这里面么?
求救版大!!{:5_301:}

root@bella-VirtualBox:/opt/EmbedSky/TQ210/TQ210_Android_4.0.4_V1.0_sido# grep -r "insmod" ./
./external/qemu-pc-bios/bochs/configure:          INSMOD="insmod"
./external/iptables/iptables/iptables-restore.c:                /* try to insmod the module if iptc_init failed */
./external/iptables/iptables/ip6tables-restore.c:                /* try to insmod the module if iptc_init failed */
./external/iptables/iptables/xtables.c:int xtables_insmod(const char *modname, const char *modprobe, bool quiet)
./external/iptables/iptables/xtables.c:        ret = xtables_insmod(afinfo->kmod, modprobe, quiet);
./external/iptables/iptables/ip6tables.c:        /* try to insmod the module if iptc_init failed */
./external/iptables/iptables/iptables.c:        /* try to insmod the module if iptc_init failed */
./external/iptables/include/xtables.h:extern int xtables_insmod(const char *, const char *, bool);
./external/iptables/include/xtables.h.in:extern int xtables_insmod(const char *, const char *, bool);
./external/iptables/libiptc/libiptc.c:                  "Table does not exist (do you need to insmod?)" },
./external/iptables/libiptc/libiptc.c:          { NULL, ENOPROTOOPT, "iptables who? (do you need to insmod?)" },
./external/wpa_supplicant/wireless_copy.h: * better than command line options of insmod because we may want to
./external/wpa_supplicant_6/wpa_supplicant/src/common/wireless_copy.h: * better than command line options of insmod because we may want to
./external/wireless-tools/wireless.12.h: * better than command line options of insmod because we may want to
./external/wireless-tools/wireless.21.h: * better than command line options of insmod because we may want to
./external/wireless-tools/wireless.17.h: * better than command line options of insmod because we may want to
./external/wireless-tools/wireless.14.h: * better than command line options of insmod because we may want to
./external/wireless-tools/wireless.20.h: * better than command line options of insmod because we may want to
./external/wireless-tools/wireless.h: * better than command line options of insmod because we may want to
./external/wireless-tools/wireless.18.h: * better than command line options of insmod because we may want to
./external/wireless-tools/wireless.19.h: * better than command line options of insmod because we may want to
./external/wireless-tools/wireless.10.h: * better than command line options of insmod because we may want to
./external/wireless-tools/wireless.13.h: * better than command line options of insmod because we may want to
./external/wireless-tools/wireless.11.h: * better than command line options of insmod because we may want to
./external/wireless-tools/wireless.15.h: * better than command line options of insmod because we may want to
./external/wireless-tools/wireless.16.h: * better than command line options of insmod because we may want to
./external/iproute2/include/ip6tables.h:extern int ip6tables_insmod(const char *modname, const char *modprobe);
./external/iproute2/include/xt-internal.h:extern int xtables_insmod(const char *modname, const char *modprobe, int quiet);
./external/iproute2/include/iptables_common.h:extern int iptables_insmod(const char *modname, const char *modprobe);
./external/kernel-headers/original/linux/wireless.h: * better than command line options of insmod because we may want to
./external/oprofile/doc/oprofile.xml:If you have run <command>insmod</command> or <command>modprobe</command> to insert a module
./external/oprofile/daemon/liblegacy/p_module.h:   to be dependant on a particular kernel version to compile insmod.*/
./external/oprofile/daemon/liblegacy/opd_kernel.c: * __insmod_modulename_Oobjectfile_Mmtime_Vversion
./external/oprofile/daemon/liblegacy/opd_kernel.c: * __insmod_modulename_Ssectionname_Llength
./external/oprofile/daemon/liblegacy/opd_kernel.c:                if (strncmp("__insmod_", line + 9, 9)) {
./external/grub/netboot/depca.c:    5) insmod depca.o
./external/wpa_supplicant_8/src/drivers/wireless_copy.h: * better than command line options of insmod because we may want to
./external/wpa_supplicant_8/wpa_supplicant/src/drivers/wireless_copy.h: * better than command line options of insmod because we may want to
./external/wpa_supplicant_8/hostapd/src/drivers/wireless_copy.h: * better than command line options of insmod because we may want to
./device/embedsky/tq210/configs/init.tq210.sh:sound_insmod
./device/embedsky/tq210/init.rc:#        insmod /system/lib/modules/Acceleration_sensor.ko
./device/embedsky/tq210/init.rc:#        insmod /system/lib/modules/ds18b20.ko
./device/embedsky/tq210/init.rc:#        insmod /system/lib/modules/rt5370sta.ko
./device/embedsky/tq210/init.rc:        insmod /system/lib/modules/8189es.ko
./device/moto/wingray/init.stingray.rc:service wlan_prod /system/bin/insmod /system/lib/modules/bcm4329.ko "firmware_path=/vendor/firmware/fw_bcm4329.bin nvram_path=/system/etc/wifi/bcm4329.cal"
./device/moto/wingray/init.stingray.rc:service wlan_mfg /system/bin/insmod /system/lib/modules/bcm4329.ko "firmware_path=/vendor/firmware/fw_bcm4329_mfg.bin nvram_path=/system/etc/wifi/bcm4329.cal"
./system/core/init/init_parser.c:      if (!strcmp(s, "nsmod")) return K_insmod;
./system/core/init/readme.txt:insmod <path>
./system/core/init/builtins.c:static int insmod(const char *filename, char *options)
./system/core/init/builtins.c:static int do_insmod_inner(int nargs, char **args, int opt_len)
./system/core/init/builtins.c:    return insmod(args, options);
./system/core/init/builtins.c:int do_insmod(int nargs, char **args)
./system/core/init/builtins.c:    return do_insmod_inner(nargs, args, size);
./system/core/init/keywords.h:int do_insmod(int nargs, char **args);
./system/core/init/keywords.h:    KEYWORD(insmod,      COMMAND, 1, do_insmod)
./system/core/rootdir/init.rc:        insmod /system/lib/modules/Acceleration_sensor.ko
./system/core/rootdir/init.rc:        insmod /system/lib/modules/ds18b20.ko
./system/core/rootdir/init.rc:        insmod /system/lib/modules/rt5370sta.ko
./system/core/toolbox/insmod.c:int insmod_main(int argc, char **argv)
./system/core/toolbox/insmod.c:                fprintf(stderr, "usage: insmod <module.o>\n");
./system/core/toolbox/insmod.c:                fprintf(stderr, "insmod: can't open '%s'\n", argv);
./system/core/toolbox/insmod.c:                "insmod: init_module '%s' failed (%s)\n",
./system/core/toolbox/Android.mk:        insmod \
./prebuilt/linux-x86/toolchain/i686-linux-glibc2.7-4.4.3/sysroot/usr/include/linux/wireless.h: * better than command line options of insmod because we may want to
grep: ./prebuilt/linux-x86/toolchain/i686-linux-glibc2.7-4.4.3/sysroot/usr/lib/libaudiofile.so.0.0: 沒有此一檔案或目錄
grep: ./prebuilt/linux-x86/toolchain/i686-linux-glibc2.7-4.4.3/sysroot/usr/lib/libpulse-browse.so.0.1: 沒有此一檔案或目錄
grep: ./prebuilt/linux-x86/toolchain/i686-linux-glibc2.7-4.4.3/sysroot/usr/lib/libpulse-mainloop-glib.so.0.0: 沒有此一檔案或目錄
grep: ./prebuilt/linux-x86/toolchain/i686-linux-glibc2.7-4.4.3/sysroot/usr/lib/libpulse-mainloop-glib.so: 沒有此一檔案或目錄
grep: ./prebuilt/linux-x86/toolchain/i686-linux-glibc2.7-4.4.3/sysroot/usr/lib/libaudiofile.so: 沒有此一檔案或目錄
grep: ./prebuilt/linux-x86/toolchain/i686-linux-glibc2.7-4.4.3/sysroot/usr/lib/libpulse-browse.so: 沒有此一檔案或目錄
./vendor/embedsky/tq210/device-vendor.mk:                vendor/embedsky/tq210/bin/sound_insmod:system/bin/sound_insmod
./hardware/libhardware_legacy/wifi/wifi.c:static int insmod(const char *filename, const char *args)
./hardware/libhardware_legacy/wifi/wifi.c:    if (insmod(DRIVER_MODULE_PATH, DRIVER_MODULE_ARG) < 0)
./hardware/realtek/wlan/libhardware_legacy/wifi/wifi_realtek.c:static int insmod(const char *filename, const char *args)
./hardware/realtek/wlan/libhardware_legacy/wifi/wifi_realtek.c:    if (insmod(DRIVER_MODULE_PATH, DRIVER_MODULE_ARG) < 0)
./hardware/wlan/mac80211/ti-utils/plt.h:#define INSMOD_PATH                "/system/bin/insmod"
./hardware/wlan/mac80211/ti-utils/plt.h:#define INSMOD_PATH                "/sbin/insmod"
./hardware/wlan/mac80211/ti-utils/plt.c:static int insmod(char *filename)
./hardware/wlan/mac80211/ti-utils/plt.c:        res = insmod(modpath);
./hardware/wlan/mac80211/compat/include/linux/wireless.h: * better than command line options of insmod because we may want to
./out/target/product/tq210/root/init.rc:#        insmod /system/lib/modules/Acceleration_sensor.ko
./out/target/product/tq210/root/init.rc:#        insmod /system/lib/modules/ds18b20.ko
./out/target/product/tq210/root/init.rc:#        insmod /system/lib/modules/rt5370sta.ko
./out/target/product/tq210/root/init.rc:        insmod /system/lib/modules/8189es.ko
./out/target/product/tq210/rootfs_dir/system/etc/init.tq210.sh:sound_insmod
./out/target/product/tq210/rootfs_dir/init.rc:#        insmod /system/lib/modules/Acceleration_sensor.ko
./out/target/product/tq210/rootfs_dir/init.rc:#        insmod /system/lib/modules/ds18b20.ko
./out/target/product/tq210/rootfs_dir/init.rc:#        insmod /system/lib/modules/rt5370sta.ko
./out/target/product/tq210/rootfs_dir/init.rc:        insmod /system/lib/modules/8189es.ko
./development/pdk/docs/porting/bring_up.jd:      <td><code>insmod &lt;path&gt;</code></td>
root@bella-VirtualBox:/opt/EmbedSky/TQ210/TQ210_Android_4.0.4_V1.0_sido#

wbz073 发表于 2014-3-6 12:08:09

s1005056 发表于 2014-3-6 11:41
另外再请教版大一件事
s5pv210_hdmi模块先前都是没有permanent这个属性状态的,之前载入出厂镜像的时后 ...

在你android源码目录下device/embedsky/tq210/configs中有个init.tq210.sh的文件,屏蔽掉或找到sound_insmod命令,即可

s1005056 发表于 2014-3-10 15:14:29

wbz073 发表于 2014-3-6 12:08
在你android源码目录下device/embedsky/tq210/configs中有个init.tq210.sh的文件,屏蔽掉或找到sound_ins ...

感謝版大的幫忙,已經可以使wm8960.ko以及 s5pv210-hdmi.ko不會預設載入了!{:2_157:}

不過現在有個小問題,在開機後手動插入wm8960.ko & s5pv210-hdmi.ko後,播放SD卡內的音樂跟影片是有聲音,但是介面按鍵卻沒聲音了,請問發生了什麼是呢{:2_124:}

wbz073 发表于 2014-3-11 08:54:38

s1005056 发表于 2014-3-10 15:14
感謝版大的幫忙,已經可以使wm8960.ko以及 s5pv210-hdmi.ko不會預設載入了!

不過現在有個小 ...

你在设置里面有没有把按键音选中??

s1005056 发表于 2014-3-11 10:14:08

wbz073 发表于 2014-3-11 08:54
你在设置里面有没有把按键音选中??

有了!
原來是不小心調成靜音模式....

謝謝wbz073版大的幫忙{:2_131:}

wbz073 发表于 2014-3-11 10:20:34

s1005056 发表于 2014-3-11 10:14
有了!
原來是不小心調成靜音模式....



不客气,有问题积极发帖
页: [1]
查看完整版本: 求救,已将模块更名后仍然会自动装载!!