armadillo に刺してる無線 dongle

動作が微妙。wpa な AP に接続できない時がある。
不具合時にカーネルバッファに出力されているメセジが以下。

<-- RTMPAllocTxRxRingMemory, Status=3
ERROR!!! RTMPAllocDMAMemory failed, Status[=0x00000003]
!!! rt28xx Initialized fail !!!
<-- RTMPAllocTxRxRingMemory, Status=0

まず、Initialized fail なメセジを出力しているのは common/rtmp_init_inf.c に記述されている rt28xx_init という手続きな模様。
以下なあたりか。

#ifdef RESOURCE_PRE_ALLOC
	Status = RTMPInitTxRxRingMemory(pAd);
#else
	Status = RTMPAllocTxRxRingMemory(pAd);
#endif // RESOURCE_PRE_ALLOC //

	if (Status != NDIS_STATUS_SUCCESS)
	{
		DBGPRINT_ERR(("RTMPAllocDMAMemory failed, Status[=0x%08x]\n", Status));
		goto err1;
	}

このあたりでコケているのはなんとなく見覚えがあるなぁ。この手続きの定義は common/cmm_mac_usb.c で異常系は以下のルートを通る。

err:
	Status = NDIS_STATUS_RESOURCES;
	RTMPFreeTxRxRingMemory(pAd);
	
	return Status;

NEIS_STATUS_RESOURCES の値は 3 でシンボルの名前的にもリソース不足 (Alloc だし) だなぁ。

てか

Android の make がコケているorz
external/openssl あたりな模様。何だこれは。とりあえず Ubuntu にて libssl-dev パケジを入れてみてリトライしてみる事に。

とりあえず

clean してリトライ流して帰宅。それでもダメなら別な場所で git clone して修正盛り込んで make してみます。今まで openssl でコケた経験ゼロ。何が何だかさっぱり分からん。
なんつーか四面楚歌状態。