OpenWrt Forum Archive

Topic: Kmod satisfy_dependencies_for error

The content of this topic has been archived on 22 Apr 2018. There are no obvious gaps in this topic, but there may still be some posts missing at the end.

Hi, I recently compiled my own version of 12.09 AA in order to include some patches that were not in the current build, but I have a few questions and problems so far.

I have successfully compiled and flashed a copy of my compiled ax71xx generic firmware for the wr703n target, but I have a few problems with packages. I noticed that when I tried to `opkg update` that there was no 12.09.1 package repository and I've read online that you can switch it to the normal 12.09 package repository and it should work. So trying this I edited the `/etc/opkg.conf` file to change the repo directory to 12.09 and I updated fine, but when I tried to install packages I get `satisfy_dependencies_for` errors:

root@OpenWrt:~# opkg install kmod-fs-ext4 kmod-usb-storage
Installing kmod-fs-ext4 (3.3.8-1) to root...
Downloading http://downloads.openwrt.org/attitude_adjustment/12.09/ar71xx/generic/packages/kmod-fs-ext4_3.3.8-1_ar71xx.ipk.
Installing kmod-usb-storage (3.3.8-1) to root...
Downloading http://downloads.openwrt.org/attitude_adjustment/12.09/ar71xx/generic/packages/kmod-usb-storage_3.3.8-1_ar71xx.ipk.
Collected errors:
 * satisfy_dependencies_for: Cannot satisfy the following dependencies for kmod-fs-ext4:
 *      kernel (= 3.3.8-1-d6597ebf6203328d3519ea3c3371a493) *   kernel (= 3.3.8-1-d6597ebf6203328d3519ea3c3371a493) *
 * opkg_install_cmd: Cannot install package kmod-fs-ext4.
 * satisfy_dependencies_for: Cannot satisfy the following dependencies for kmod-usb-storage:
 *      kernel (= 3.3.8-1-d6597ebf6203328d3519ea3c3371a493) *   kernel (= 3.3.8-1-d6597ebf6203328d3519ea3c3371a493) *
 * opkg_install_cmd: Cannot install package kmod-usb-storage.

I did some reading and this is because the kmod packages were not compiled for this newer kernel so they fail to install.

So my question is, how do you compile your own packages to use with the 12.09.1 AA r40431 openwrt for use on the tplink wr703n router.

Also when compiling openwrt I was a bit confused about the feeds and `base system` menu in `make menuconfig`. If someone could explain those to me as well I would love it (is there any settings or anything I should set for the wr703n other than the target profile?).

Also will I get this error for every package or just kernel packages? Should I just compile every package myself and setup my own repository (me and a group of people need working packages), if so how can I go about compiling all the  packages/kernel modules and put them into a repo. Also note, I don't want to have the kernel modules or packages built into the firmware as the wr703n has limited space.

Thank you for any help!

(Last edited by abduct on 13 May 2014, 00:40)

After you have updated (=downloaded current sources) of the feeds and "installed" them, the packages provided by feeds are visible in make menuconfig.
http://wiki.openwrt.org/doc/howto/build#updating.feeds

The optimal way is to select those additional packages you want, and build them into the main firmware (so that they get compressed and take less flash space).

Rather strict kernel checksum process practically forces you to either build everything by yourself or stick to the old release version.

hnyman wrote:

After you have updated (=downloaded current sources) of the feeds and "installed" them, the packages provided by feeds are visible in make menuconfig.
http://wiki.openwrt.org/doc/howto/build#updating.feeds

The optimal way is to select those additional packages you want, and build them into the main firmware (so that they get compressed and take less flash space).

Rather strict kernel checksum process practically forces you to either build everything by yourself or stick to the old release version.

Thank you! I finally fixed a long standing problem with my usb hub (kept resetting/erroring and freezing the router) because of a patch in AA that was not compiled into the version on the website. Only thing stopping me was this error and now that I compiled the modules in everything thing works fine.

Thanks again.

(Last edited by abduct on 13 May 2014, 18:14)

Decided to post here instead of making a new thread. I successfully have everything setup, except the firmware/drivers for my second wireless adapter (2800rt) are not being loaded at boot. The symptoms are similar to this problem: https://dev.openwrt.org/ticket/8789

When booting my dmesg shows the adapter in my 4 port hub as well as my thumb drive, and my config is filled out correctly (both radios are filled out and enabled), but when i issue a ifconfig command only my wlan0 main radio shows up, not my secondary one plugged in through the hub. Although when I attempt to use the device (say to change its mode) I get the message

phy0 -> rt2x00lib_request_firmware: Info - Loading firmware file 'rt2870.bin'.

and it successfully loads and I have full access to the interface (it shows up in ifconfig and everywhere else). Is there a reason why this is not happening automatically or is there a way for this to happen by itself at boot?

Thanks again.

Edit:: more info

As you can see here in the dmesg that it detects it plugged into the hub during boot, but I cant see the interface in iwconfig nor ifconfig

[   29.660000] usb 1-1.3: reset high-speed USB device number 4 using ehci-platform
[   29.780000] ieee80211 phy1: rt2x00_set_rt: Info - RT chipset 5390, rev 0502 detected
[   29.810000] ieee80211 phy1: rt2x00_set_rf: Info - RF chipset 5370 detected
[   29.820000] usbcore: registered new interface driver rt2800usb

Unplugging and replugging in the device into the usb hub allows the interface to show up, and then upon first interaction the firmware rt2800.bin is loaded for the device.

Here is what happens in dmesg after I unplug, and replug it in and attempt to use the interface in airmon-ng to enable monitoring mode:

[   68.260000] usb 1-1.4: new high-speed USB device number 5 using ehci-platform
[   68.490000] usb 1-1.4: reset high-speed USB device number 5 using ehci-platform
[   68.610000] ieee80211 phy2: rt2x00_set_rt: Info - RT chipset 5390, rev 0502 detected
[   68.640000] ieee80211 phy2: rt2x00_set_rf: Info - RF chipset 5370 detected
[  126.520000] ieee80211 phy2: rt2x00lib_request_firmware: Info - Loading firmware file 'rt2870.bin'
[  126.550000] ieee80211 phy2: rt2x00lib_request_firmware: Info - Firmware detected - version: 0.29

edit2:: I figured out the problem. If you use the default config generated from `wifi detect` it names the interfaces radio0, radio1. Renaming them to wlan0 and wlan1 fixed this issue and loaded the firmware at boot/

(Last edited by abduct on 14 May 2014, 08:07)

The discussion might have continued from here.