Вы должны войти в систему для того, чтобы создавать сообщения и темы.

Проблемы и решения

Не монтируется USB накопитель после извлечения через web-интерфейс: "automount: dir /media/sda1 is exist". Предлагаемое решение:

--- ./wive-ng-wive-ng-mt/user/usb/umount_all.sh-wive	2018-03-29 08:49:48.034967280 +0300
+++ ./wive-ng-wive-ng-mt/user/usb/umount_all.sh	2018-03-29 08:54:40.362968217 +0300
@@ -12,7 +12,7 @@
     if [ -n "$mounted" ]; then
 	for disk in $mounted; do
 	    echo "Umount external drive /dev/$disk."
-	    (sync && umount -fl /dev/$disk && sync) &
+	    (sync && umount -fl /dev/$disk && sync && rmdir /media/$disk) &
 	done
 	sleep 2
     fi

Альтернативное решение: доработать функцию try_umount() в файле automount.sh.

Не запускается transmission-daemon: "/bin/transmission-daemon: can't load library 'libnatpmp.so.1". Предлагаемое решение:

--- ./wive-ng-wive-ng-mt/libext/libnatpmp/Makefile-wive	2018-03-27 12:49:09.424394701 +0300
+++ ./wive-ng-wive-ng-mt/libext/libnatpmp/Makefile	2018-03-27 12:50:23.121222579 +0300
@@ -169,6 +169,8 @@
 endif
 
 shared: $(SHAREDLIB)
+	ln -sf libnatpmp.so	libnatpmp.so.1
+	ln -sf libnatpmp.so	libnatpmp.so.0
 	cp -vfa *.so*		$(LIBCDIRSHARED)/lib
 	-cp -vfa *.la*		$(LIBCDIRSHARED)/lib
 	cp -vfa *.h		$(LIBCDIRSHARED)/include

Странная переменная wan_portN в файле /wive-ng-wive-ng-mt/etc/scripts/config-vlan.sh. Возможно N лишняя:

--- ./wive-ng-wive-ng-mt/etc/scripts/config-vlan.sh-wive	2018-03-28 08:11:38.277978199 +0300
+++ ./wive-ng-wive-ng-mt/etc/scripts/config-vlan.sh	2018-03-28 08:14:52.543070453 +0300
@@ -667,10 +667,10 @@
 if [ "$OperationMode" != "1" ] || [ "$CONFIG_GE2_RGMII_AN" = "y" ]; then
     wan_phy=""
 else
-    if [ "$wan_portN" = "0" ]; then
+    if [ "$wan_port" = "0" ]; then
 	wan_phy="4"
     else
 	wan_phy="0"
     fi
 fi

Коммит 1ded76 не приводит к желаемому результату. Предположу, что значения задержек взяты из проекта OpenWRT. Не заслуженно упущена одна задержка. Предлагаемое решение:

--- ./wive-ng-wive-ng-mt/linux-3.4.x/arch/mips/rt2880/pci.c-wive	2018-03-19 08:21:23.614124000 +0300
+++ ./wive-ng-wive-ng-mt/linux-3.4.x/arch/mips/rt2880/pci.c	2018-03-19 08:22:59.746163700 +0300
@@ -624,7 +624,7 @@
 	pcie_link_status = 0;
 	val = RALINK_PCIE0_RST | RALINK_PCIE1_RST | RALINK_PCIE2_RST;
 	ASSERT_SYSRST_PCIE(val);			// raise reset all PCIe ports
-	udelay(200);
+	udelay(100);
 #if defined (GPIO_PERST)
 	val = RALINK_GPIOMODE;
 	val &= ~((0x3<<PCIE_SHARE_PIN_SW) | (0x3<<UARTL3_SHARE_PIN_SW));
@@ -640,9 +640,9 @@
 #if defined (CONFIG_PCIE_PORT2)
 	val |= (0x1<<GPIO_PCIE_PORT2);
 #endif
-	mdelay(100);
+	mdelay(50);
 	RALINK_GPIO_CTRL0 |= val;			// switch PERST_N pin to output mode
-	mdelay(100);
+	mdelay(50);
 	RALINK_GPIO_DATA0 &= ~(val);			// fall PERST_N pin (reset peripherals)
 #else /* !defined (GPIO_PERST) */
 	RALINK_GPIOMODE &= ~(0x3<<PCIE_SHARE_PIN_SW);	// fall PERST_N pin (reset peripherals)
@@ -674,12 +674,14 @@
 #endif
 	RALINK_CLKCFG1 = val;				// enable clock for needed PCIe ports
 
-	mdelay(50);
+	mdelay(10);
 
 	if ((ralink_asic_rev_id & 0xFFFF) == 0x0101) // MT7621 E2
 		bypass_pipe_rst();
 	set_phy_for_ssc();
 
+	mdelay(100);
+
 #if defined (GPIO_PERST)
 	val = 0;
 #if defined (CONFIG_PCIE_PORT0)
@@ -766,7 +768,7 @@
 #endif
 
 	/* wait before detect card in slots */
-	mdelay(1000);
+	mdelay(500);
 
 #if defined (CONFIG_RALINK_MT7621)
 #if defined (CONFIG_PCIE_PORT0)

 

Спасибо.

1 - пока добавил удаление, в будущем логика работы с USB перепишется полностью
2 - странно, но пусть будет
3 - очепятка, хорошо хоть не грозит особо чем-то
4 - причём тут WRT не понял, а задержки были увеличены при работе над CG1 сэмплом и девбордой со сменными pci картами, часть из которых без этого не стартовала. Так что могу только добавить задержку после ssc set, но на нашем железе проблем нет, а другое мы не поддерживаем по определению. Т.к. ничем не грозит то добавлю, не вопрос.