if hardware is nil, return Unknow