{"record":{"id":"1c581750459848a9","repo":"ruvnet/RuView","slug":"real-csi-data-collection-from-router-self-router","errorCode":null,"errorMessage":"Real CSI data collection from router '{self.router_id}' requires hardware setup that is not configured. You must: (1) install CSI-capable firmware (e.g., Atheros CSI Tool, Nexmon CSI) on the router, (2) configure the SSH connection to the router, and (3) implement the CSI extraction command for your specific firmware. For development/testing, use mock_mode=True. See docs/hardware-setup.md for complete setup instructions.","messagePattern":"Real CSI data collection from router '(.+?)' requires hardware setup that is not configured\\. You must: \\(1\\) install CSI-capable firmware \\(e\\.g\\., Atheros CSI Tool, Nexmon CSI\\) on the router, \\(2\\) configure the SSH connection to the router, and \\(3\\) implement the CSI extraction command for your specific firmware\\. For development/testing, use mock_mode=True\\. See docs/hardware-setup\\.md for complete setup instructions\\.","errorType":"exception","errorClass":"RuntimeError","httpStatus":null,"severity":"error","filePath":"archive/v1/src/core/router_interface.py","lineNumber":161,"sourceCode":"        \"\"\"Generate mock CSI data for testing.\n\n        Delegates to the MockCSIGenerator in the testing module.\n        This method is only callable when mock_mode is True.\n        \"\"\"\n        if self._mock_csi_generator is None:\n            self._initialize_mock_generator()\n        return self._mock_csi_generator.generate()\n    \n    async def _collect_real_csi_data(self) -> Optional[np.ndarray]:\n        \"\"\"Collect real CSI data from the router.\n\n        Raises:\n            RuntimeError: Always in the current state, because real CSI\n                data collection requires hardware setup that has not been\n                configured. This method must never silently return random\n                or placeholder data.\n        \"\"\"\n        raise RuntimeError(\n            f\"Real CSI data collection from router '{self.router_id}' requires \"\n            \"hardware setup that is not configured. You must: \"\n            \"(1) install CSI-capable firmware (e.g., Atheros CSI Tool, Nexmon CSI) on the router, \"\n            \"(2) configure the SSH connection to the router, and \"\n            \"(3) implement the CSI extraction command for your specific firmware. \"\n            \"For development/testing, use mock_mode=True. \"\n            \"See docs/hardware-setup.md for complete setup instructions.\"\n        )\n    \n    async def check_health(self) -> bool:\n        \"\"\"Check if the router connection is healthy.\n        \n        Returns:\n            True if healthy, False otherwise\n        \"\"\"\n        if not self.is_connected:\n            return False\n        ","sourceCodeStart":143,"sourceCodeEnd":179,"githubUrl":"https://github.com/ruvnet/RuView/blob/4685618388a5e49fad5b3005806f3bdd6a7c25c3/archive/v1/src/core/router_interface.py#L143-L179","documentation":"Error \"Real CSI data collection from router '{self.router_id}' requires hardware setup that is not configured. You must: (1) install CSI-capable firmware (e.g., Atheros CSI Tool, Nexmon CSI) on the router, (2) configure the SSH connection to the router, and (3) implement the CSI extraction command for your specific firmware. For development/testing, use mock_mode=True. See docs/hardware-setup.md for complete setup instructions.\" thrown in ruvnet/RuView.","triggerScenarios":"Thrown at archive/v1/src/core/router_interface.py:161 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"4685618388a5e49fad5b3005806f3bdd6a7c25c3","analyzedAt":"2026-08-16T06:09:40.886Z","schemaVersion":2},"datasetVersion":"2026-08-16T08:17:34.114Z"}